Re: [PATCH net v4 1/2] vsock/bpf: release sock lock while waiting for data in recvmsg

From: jrmmhm . kernel

Date: Sat Nov 07 2026 - 05:11:50 EST


On Sat, 07 Nov 2026 02:09:17 +0000, Alexei Starovoitov wrote:
> No need for a 2nd copy of the return values.
[...]
> recv() no sockmap this series the diff
> ------------------------------ ------------ ------------ -----------
> after a virtio reset -ENOTCONN -ECONNRESET -ENOTCONN
> after a reset, len == 0 -ENOTCONN 0 -ENOTCONN
> after a reset, MSG_OOB -ENOTCONN -EOPNOTSUPP -ENOTCONN
> after peer shutdown, SO_INQ on 0 + SCM_INQ 0 0 + SCM_INQ
> asleep when the reset comes -ECONNRESET -ECONNRESET -ENOTCONN

Agreed. I ran your diff in a guest with the reproducers of this series:
the deadlock, the dataless wakeup, signal, timeout, peer shutdown,
MSG_ERRQUEUE and MSG_OOB cases behave as with v4, with no KASAN, lockdep
or hung task report. In the first four rows of your table the sockmap
socket now returns exactly what a native one returns.

The last row is confirmed as well. I'd accept that and say so in the
commit message, since it only changes which error a reader of an
already reset connection sees.

> None of these tests sleeps in vsock_msg_wait_data().
> The sockmap tests call select() before recv() or pass MSG_DONTWAIT.
> vmtest.sh doesn't use sockmap.

Right. v5 won't cite them as coverage of this change.

v5 will be a single patch based on your diff, with your Suggested-by.

Thanks,
Jerome