Messages in this thread | | | Date | Sat, 11 May 2019 10:27:05 +0200 | From | Stefano Garzarella <> | Subject | Re: [PATCH v2 2/8] vsock/virtio: free packets during the socket release |
| |
On Fri, May 10, 2019 at 03:20:08PM -0700, David Miller wrote: > From: Stefano Garzarella <sgarzare@redhat.com> > Date: Fri, 10 May 2019 14:58:37 +0200 > > > @@ -827,12 +827,20 @@ static bool virtio_transport_close(struct vsock_sock *vsk) > > > > void virtio_transport_release(struct vsock_sock *vsk) > > { > > + struct virtio_vsock_sock *vvs = vsk->trans; > > + struct virtio_vsock_buf *buf; > > struct sock *sk = &vsk->sk; > > bool remove_sock = true; > > > > lock_sock(sk); > > if (sk->sk_type == SOCK_STREAM) > > remove_sock = virtio_transport_close(vsk); > > + while (!list_empty(&vvs->rx_queue)) { > > + buf = list_first_entry(&vvs->rx_queue, > > + struct virtio_vsock_buf, list); > > Please use list_for_each_entry_safe().
Thanks for the review, I'll change it in the v3.
Cheers, Stefano
| |