In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_core: cancel all works upon hci_unregister_dev()
syzbot is reporting that calling hci_release_dev() from hci_error_reset()
due to hci_dev_put() from hci_error_reset() can cause deadlock at
destroy_workqueue(), for hci_error_reset() is called from
hdev->req_workqueue which destroy_workqueue() needs to flush.
We need to make sure that hdev->{rx_work,cmd_work,tx_work} which are
queued into hdev->workqueue and hdev->{power_on,error_reset} which are
queued into hdev->req_workqueue are no longer running by the moment
destroy_workqueue(hdev->workqueue);
destroy_workqueue(hdev->req_workqueue);
are called from hci_release_dev().
Call cancel_work_sync() on these work items from hci_unregister_dev()
as soon as hdev->list is removed from hci_dev_list.
References
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2024-07-29 15:15
Updated : 2024-11-21 09:32
NVD link : CVE-2024-41063
Mitre link : CVE-2024-41063
CVE.ORG link : CVE-2024-41063
JSON object : View
Products Affected
linux
- linux_kernel
CWE
CWE-667
Improper Locking