[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190510.152008.1902268386064871188.davem@davemloft.net>
Date: Fri, 10 May 2019 15:20:08 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: sgarzare@...hat.com
Cc: netdev@...r.kernel.org, mst@...hat.com,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
stefanha@...hat.com, jasowang@...hat.com
Subject: Re: [PATCH v2 2/8] vsock/virtio: free packets during the socket
release
From: Stefano Garzarella <sgarzare@...hat.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().
Powered by blists - more mailing lists