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

From: Jorgen S. Hansen
Date: Thu Aug 17 2017 - 08:43:34 EST



> On Aug 16, 2017, at 12:15 AM, Dexuan Cui <decui@xxxxxxxxxxxxx> 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