Re: [PATCH v3 2/5] vsock/virtio: fix locking for fwd_cnt and buf_alloc

From: David Miller
Date: Sun Jun 02 2019 - 21:07:23 EST


From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Date: Fri, 31 May 2019 15:39:51 +0200

> @@ -434,7 +434,9 @@ void virtio_transport_set_buffer_size(struct vsock_sock *vsk, u64 val)
> if (val > vvs->buf_size_max)
> vvs->buf_size_max = val;
> vvs->buf_size = val;
> + spin_lock_bh(&vvs->rx_lock);
> vvs->buf_alloc = val;
> + spin_unlock_bh(&vvs->rx_lock);

This locking doesn't do anything other than to strongly order the
buf_size store to occur before the buf_alloc one.

If you need a memory barrier, use one.