Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled HCI_UART_SENDING bit in tx_state means write_work is pending and blocks queueing it again. Currently this bit is not cleared when canceling the work in hci_uart_close(), which blocks future writes when device is reopened later if write_work was pending. Fix by clearing HCI_UART_SENDING when canceling the work. Also make clearing of tx_skb safe by using disable_work_sync + enable_work instead of just cancel_work_sync. hci_uart_flush() purges the proto tx queue so we can cancel the pending write_work there, instead of doing it just in hci_uart_close(). Re-enable and possibly requeue the work after queue flush.
References
Affected products
- ==9d20d48be2c4a071fb015eb09bda2cecd25daf34
- <b9dd39cf1667e378b25a082ca796d495d578c5d3
- =<*
- <7.1
- =<7.1.*
- <6.2
- =<6.18.*
- ==c85cff648a2bc92322912db5f1727ad05afae7b6
- ==7.1
- <7.1
- <5.11
- ==7338031946bd06f6dff149e67b60c4cd083bfea8
- =<6.12.*
- <5.16
- <d52446b3e735cfdbdc2a58342163803bc2e64249
- ==e2d19969c8d9198ecc3090bcd5312ecd503a3339
- <6.7
- <1b0d946d6f08bd39211385bc703a440911b41e46
- <6.18.39
- <6.12.96
- <714d861d35d937f23375a4517569b13917bbbe51
- ==78aad93e938f013d9272fe0ee168f27883afa95c