[PATCH net-next 2/3] vsock: fix vsock_dequeue/enqueue_accept race

Jorgen S. Hansen jhansen at vmware.com
Thu Aug 17 12:43:23 UTC 2017


> On Aug 16, 2017, at 12:15 AM, Dexuan Cui <decui at microsoft.com> wrote:
> 
> 
> With the current code, when vsock_dequeue_accept() is removing a sock
> from the list, nothing prevents vsock_enqueue_accept() from adding a new
> sock into the list concurrently. We should add a lock to protect the list.
> 

For the VMCI socket transport, we always lock the sockets before calling into vsock_enqueue_accept and af_vsock.c locks the socket before calling vsock_dequeue_accept, so from our point of view these operations are already protected, but with finer granularity than a single global lock. As far as I can see, the virtio transport also locks the socket before calling vsock_enqueue_accept, so they should be fine with the current version as well, but Stefan can comment on that.

Thanks,
Jorgen


More information about the devel mailing list