Messages in this thread | | | Subject | Re: [PATCH] Bluetooth: hci_ldisc: Fix another race when closing the tty. | From | Marcel Holtmann <> | Date | Mon, 30 Oct 2017 15:49:16 +0100 |
| |
Hi Ronald,
> The following race condition still existed: > > P1 P2 > cancel_work_sync() > hci_uart_tx_wakeup() > hci_uart_write_work() > hci_uart_dequeue() > clear_bit(HCI_UART_PROTO_READY) > hci_unregister_dev(hdev) > hci_free_dev(hdev) > hu->proto->close(hu) > kfree(hu) > access to hdev and hu > > Cancelling the work after clearing the HCI_UART_PROTO_READY bit avoids > this as any hci_uart_tx_wakeup() issued after the flag is cleared will > detect that and not schedule further work. > > Signed-off-by: Ronald Tschalär <ronald@innovation.ch> > Cc: Dean Jenkins <Dean_Jenkins@mentor.com> > Cc: Lukas Wunner <lukas@wunner.de> > Cc: Marcel Holtmann <marcel@holtmann.org> > Cc: Gustavo Padovan <gustavo@padovan.org> > Cc: Johan Hedberg <johan.hedberg@gmail.com> > --- > drivers/bluetooth/hci_ldisc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
| |