Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: fix memory leak in error path of hci_alloc_dev()
Early failures in Bluetooth HCI UART configuration leak SRCU percpu memory.
When device initialization fails before hci_register_dev() completes, the HCI_UNREGISTER flag is never set. As a result, when the device reference count reaches zero, bt_host_release() evaluates this flag as false and falls back to a direct kfree(hdev).
Because hci_release_dev() is bypassed, the SRCU struct initialized early in hci_alloc_dev() is never cleaned up, resulting in a leak of percpu memory.
Fix the leak by explicitly calling cleanup_srcu_struct() in the fallback (unregistered) branch of bt_host_release() before freeing the device.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 90dee0a0ff84fac8accd5be98412b3819f667149, < 5b7dfca6f852e6b9d809fd0263b5427cc9fb33fd; >= c56b177efce8b62798e4d96bdb9867106cb7c4a0, < c016118b9e51eeaf5bc93850d4c455a3b583c0aa; >= bc0819a25e04cd68ef3568cfa51b63118fea39a7, < 0622e527a31d4b44737fed5c1a2ac1fc2cfb5184; >= ce23b73f0f27e2dbeb81734a79db710f05aa33c6, < bc2efe73c194a74839d7cf57b63880d97e21d309; >= 1d6123102e9fbedc8d25bf4731da6d513173e49e, < ce4b4cac3c5749b6aa75e62e2991ae2263f2f889; >= 1d6123102e9fbedc8d25bf4731da6d513173e49e, < f82799407a50af7bcacacf09cc9b279af8fe9b81; >= 1d6123102e9fbedc8d25bf4731da6d513173e49e, < 37b3009bf5976e8ab77c8b9a9bc3bbd7ff49e37f; dd4becd3fd4102696e1c15e6d260a1712a2d8685; 0e5c144c557df910ab64d9c25d06399a9a735e65; >= 5.15.209, < 5.15.210; >= 6.1.167, < 6.1.176; >= 6.6.97, < 6.6.143; >= 6.12.36, < 6.12.94; >= 5.10.259, < 5.11; >= 6.15.5, < 6.16 |
| Linux | Linux | 6.16 |
References
- https://git.kernel.org/stable/c/0622e527a31d4b44737fed5c1a2ac1fc2cfb5184Patch
- https://git.kernel.org/stable/c/37b3009bf5976e8ab77c8b9a9bc3bbd7ff49e37fPatch
- https://git.kernel.org/stable/c/5b7dfca6f852e6b9d809fd0263b5427cc9fb33fdPatch
- https://git.kernel.org/stable/c/bc2efe73c194a74839d7cf57b63880d97e21d309Patch
- https://git.kernel.org/stable/c/c016118b9e51eeaf5bc93850d4c455a3b583c0aaPatch
- https://git.kernel.org/stable/c/ce4b4cac3c5749b6aa75e62e2991ae2263f2f889Patch
- https://git.kernel.org/stable/c/f82799407a50af7bcacacf09cc9b279af8fe9b81Patch
Timeline
- Published
- Jun 25, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed