In the Linux kernel, the following vulnerability has been resolved:
vsock/virtio: free queued packets when closing socket
As reported by syzbot [1], there is a memory leak while closing the socket. We partially solved this issue with commit ac03046ece2b ("vsock/virtio: free packets during the socket release"), but we forgot to drain the RX queue when the socket is definitely closed by the scheduled work.
To avoid future issues, let's use the new virtiotransportremovesock() to drain the RX queue before removing the socket from the afvsock lists calling vsockremovesock().
[1] https://syzkaller.appspot.com/bug?extid=24452624fc4c571eedd9