]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: hci_sock: purge socket queues in the destruct() callback
authorNguyen Dinh Phi <phind.uet@gmail.com>
Thu, 7 Oct 2021 19:04:24 +0000 (03:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 15:44:16 +0000 (16:44 +0100)
commit05eae9cfd928a4a650bf668880b944951d4c3244
tree4d98a8f8fcc4c50ec32deb343b960aafe21f6720
parentf24029b88a98560eb5e2f6292971b539e90abdfe
Bluetooth: hci_sock: purge socket queues in the destruct() callback

commit 01ba9b679ca836a019608eee21726fbdbc230878 upstream.

The receive path may take the socket right before hci_sock_release(),
but it may enqueue the packets to the socket queues after the call to
skb_queue_purge(), therefore the socket can be destroyed without clear
its queues completely.

Moving these skb_queue_purge() to the hci_sock_destruct() will fix this
issue, because nothing is referencing the socket at this point.

Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
Reported-by: syzbot+4c4ffd1e1094dae61035@syzkaller.appspotmail.com
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/bluetooth/hci_sock.c