CVE-2024-41063 Information
Description
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_workcmd_worktx_work which are queued into hdev->workqueue and hdev->power_onerror_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.
Reference
https://git.kernel.org/stable/c/48542881997e17b49dc16b93fe910e0cfcf7a9f9 https://git.kernel.org/stable/c/9cfc84b1d464cc024286f42a090718f9067b80ed https://git.kernel.org/stable/c/ddeda6ca5f218b668b560d90fc31ae469adbfd92 https://git.kernel.org/stable/c/d2ce562a5aff1dcd0c50d9808ea825ef90da909f https://git.kernel.org/stable/c/96600c2e5ee8213dbab5df1617293d8e847bb4fa https://git.kernel.org/stable/c/d6cbce18370641a21dd889e8613d8153df15eb39 https://git.kernel.org/stable/c/3f939bd73fed12dddc2a32a76116c19ca47c7678 https://git.kernel.org/stable/c/0d151a103775dd9645c78c97f77d6e2a5298d913
Share on: