On Mon, Aug 01, 2016 at 07:18:21PM +0200, ggar...@abra.uab.cat wrote:

Besides the other locking issue that was already mentioned:

> diff --git a/net/vmw_vsock/virtio_transport_common.c 
> b/net/vmw_vsock/virtio_transport_common.c
> index a53b3a1..3c38d43 100644
> --- a/net/vmw_vsock/virtio_transport_common.c
> +++ b/net/vmw_vsock/virtio_transport_common.c
> @@ -773,13 +773,23 @@ virtio_transport_recv_connected(struct sock *sk,
>               pkt->len = le32_to_cpu(pkt->hdr.len);
>               pkt->off = 0;
>  
> -             spin_lock_bh(&vvs->rx_lock);
> -             virtio_transport_inc_rx_pkt(vvs, pkt);
> -             list_add_tail(&pkt->list, &vvs->rx_queue);
> -             spin_unlock_bh(&vvs->rx_lock);
> +             if (vvs->rx_bytes + pkt->len <= vvs->buf_size) {

vvs->rx_bytes must be accessed under vvs->rx_lock.

Attachment: signature.asc
Description: PGP signature

Reply via email to