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_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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e0b278650f07acf2e0932149183458468a731c03 to < 48542881997e17b49dc16b93fe910e0cfcf7a9f9affected98fb98fd37e42fd4ce13ff657ea64503e24b6090 to < 9cfc84b1d464cc024286f42a090718f9067b80edaffected6dd0a9dfa99f8990a08eb8fdd8e79bee31c7d8e2 to < ddeda6ca5f218b668b560d90fc31ae469adbfd92affectedda4569d450b193e39e87119fd316c0291b585d14 to < d2ce562a5aff1dcd0c50d9808ea825ef90da909faffected45085686b9559bfbe3a4f41d3d695a520668f5e1 to < 96600c2e5ee8213dbab5df1617293d8e847bb4faaffected2ab9a19d896f5a0dd386e1f001c5309bc35f433b to < d6cbce18370641a21dd889e8613d8153df15eb39affected2449007d3f73b2842c9734f45f0aadb522daf592 to < 3f939bd73fed12dddc2a32a76116c19ca47c7678affected2449007d3f73b2842c9734f45f0aadb522daf592 to < 0d151a103775dd9645c78c97f77d6e2a5298d913affecteddd594cdc24f2e48dab441732e6dfcafd6b0711d1affected4.19.309 to < 4.19.319affected5.4.271 to < 5.4.281affected5.10.212 to < 5.10.223affected5.15.151 to < 5.15.164affected6.1.81 to < 6.1.101affected6.6.21 to < 6.6.42affected6.7.9 to < 6.8affected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected4.19.319 to ≤ 4.19.*unaffected5.4.281 to ≤ 5.4.*unaffected5.10.223 to ≤ 5.10.*unaffected5.15.164 to ≤ 5.15.*unaffected6.1.101 to ≤ 6.1.*unaffected6.6.42 to ≤ 6.6.*unaffected6.9.11 to ≤ 6.9.*unaffected6.10 to ≤ *unaffected
References
- 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 ↗
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html ↗