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.
signature.asc
Description: PGP signature