Bluetooth: hci_sock: purge socket queues in the destruct() callback
commit 709fca50 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>
Loading
Please register or sign in to comment