Bluetooth: hci_sync: fix set_local_name race condition
authorPavel Shpakovskiy <pashpakovskii@salutedevices.com>
Fri, 22 Aug 2025 09:20:55 +0000 (12:20 +0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 22 Aug 2025 17:57:31 +0000 (13:57 -0400)
commit6bbd0d3f0c23fc53c17409dd7476f38ae0ff0cd9
tree5b68aa254f49728930cf24f742c262d17168c5df
parent55b9551fcdf6a2fe7f3422918d5697b56794da72
Bluetooth: hci_sync: fix set_local_name race condition

Function set_name_sync() uses hdev->dev_name field to send
HCI_OP_WRITE_LOCAL_NAME command, but copying from data to hdev->dev_name
is called after mgmt cmd was queued, so it is possible that function
set_name_sync() will read old name value.

This change adds name as a parameter for function hci_update_name_sync()
to avoid race condition.

Fixes: 6f6ff38a1e14 ("Bluetooth: hci_sync: Convert MGMT_OP_SET_LOCAL_NAME")
Signed-off-by: Pavel Shpakovskiy <pashpakovskii@salutedevices.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
include/net/bluetooth/hci_sync.h
net/bluetooth/hci_sync.c
net/bluetooth/mgmt.c