Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error
Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error
When hci_register_dev() fails in hci_uart_register_dev() HCI_UART_PROTO_INIT is not cleared before calling hu->proto->close(hu) and setting hu->hdev to NULL. This means incoming UART data will reach the protocol-specific recv handler in hci_uart_tty_receive() after resources are freed.
Clear HCI_UART_PROTO_INIT with a write lock before calling hu->proto->close() and setting hu->hdev to NULL. The write lock ensures all active readers have completed and no new reader can enter the protocol recv path before resources are freed.
This allows the protocol-specific recv functions to remove the "HCI_UART_REGISTERED" guard without risking a null pointer dereference if hci_register_dev() fails.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
1Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/194f029a4d7f739e44ebc1f473120187b4de5104mitre
- git.kernel.org/stable/c/356dee1bcac4d0d9152390561fa63331ebff211bmitre
- git.kernel.org/stable/c/3daa5818e473ed60eb69d8b5c71b651909d28c5amitre
- git.kernel.org/stable/c/68d39ea5e0adc9ecaea1ce8abd842ec972eb8718mitre
- git.kernel.org/stable/c/a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40mitre
- git.kernel.org/stable/c/ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07mitre
- git.kernel.org/stable/c/ed4033fb85ccaaf6c3983be3c7b037e48253d232mitre
- git.kernel.org/stable/c/f4b69c35813c432973d340d3600c01de106ed474mitre
News mentions
0No linked articles in our index yet.