Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b62b6505 authored by Johan Hedberg's avatar Johan Hedberg Committed by Marcel Holtmann
Browse files

Bluetooth: Fix incorrectly overriding conn->src_type



The src_type member of struct hci_conn should always reflect the address
type of the src_member. It should never be overridden. There is already
code in place in the command status handler of HCI_LE_Create_Connection
to copy the right initiator address into conn->init_addr_type.

Without this patch, if privacy is enabled, we will send the wrong
address type in the SMP identity address information PDU (it'll e.g.
contain our public address but a random address type).

Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org
parent f9da455b
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -610,11 +610,6 @@ static void hci_req_add_le_create_conn(struct hci_request *req,
	if (hci_update_random_address(req, false, &own_addr_type))
		return;

	/* Save the address type used for this connnection attempt so we able
	 * to retrieve this information if we need it.
	 */
	conn->src_type = own_addr_type;

	cp.scan_interval = cpu_to_le16(hdev->le_scan_interval);
	cp.scan_window = cpu_to_le16(hdev->le_scan_window);
	bacpy(&cp.peer_addr, &conn->dst);