Bluetooth: hci_sync: fix race in hci_cmd_sync_dequeue_once
hci_cmd_sync_dequeue_once() does lookup and then cancel the entry under two separate lock sections. Meanwhile, hci_cmd_sync_work() can also delete the same entry, leading to double list_del() and "UAF". Fix this by holding cmd_sync_work_lock across both lookup and cancel, so that the entry cannot be removed concurrently. Fixes: 505ea2b2 ("Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue") Reported-by:Cen Zhang <zzzccc427@163.com> Signed-off-by:
Cen Zhang <zzzccc427@163.com> Signed-off-by:
Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Loading
Please sign in to comment