Re: [PATCH v3] vsock: each transport cycles only on its own sockets

From: Jakub Kicinski
Date: Thu Mar 10 2022 - 20:09:04 EST


On Thu, 10 Mar 2022 10:28:03 -0500 Michael S. Tsirkin wrote:
> On Thu, Mar 10, 2022 at 03:14:20PM +0100, Stefano Garzarella wrote:
> > On Thu, Mar 10, 2022 at 10:50:11PM +0900, Jiyong Park wrote:
> > > When iterating over sockets using vsock_for_each_connected_socket, make
> > > sure that a transport filters out sockets that don't belong to the
> > > transport.
> > >
> > > There actually was an issue caused by this; in a nested VM
> > > configuration, destroying the nested VM (which often involves the
> > > closing of /dev/vhost-vsock if there was h2g connections to the nested
> > > VM) kills not only the h2g connections, but also all existing g2h
> > > connections to the (outmost) host which are totally unrelated.
> > >
> > > Tested: Executed the following steps on Cuttlefish (Android running on a
> > > VM) [1]: (1) Enter into an `adb shell` session - to have a g2h
> > > connection inside the VM, (2) open and then close /dev/vhost-vsock by
> > > `exec 3< /dev/vhost-vsock && exec 3<&-`, (3) observe that the adb
> > > session is not reset.
> > >
> > > [1] https://android.googlesource.com/device/google/cuttlefish/
> > >
> > > Fixes: c0cfa2d8a788 ("vsock: add multi-transports support")
> > > Signed-off-by: Jiyong Park <jiyong@xxxxxxxxxx>
> > > ---
> > > Changes in v3:
> > > - Fixed the build error in vmci_transport.c
> > > Changes in v2:
> > > - Squashed into a single patch
> > >
> > > drivers/vhost/vsock.c | 3 ++-
> > > include/net/af_vsock.h | 3 ++-
> > > net/vmw_vsock/af_vsock.c | 9 +++++++--
> > > net/vmw_vsock/virtio_transport.c | 7 +++++--
> > > net/vmw_vsock/vmci_transport.c | 5 ++++-
> > > 5 files changed, 20 insertions(+), 7 deletions(-)
> >
> > It seems okay now, I ran my test suite and everything seems to be fine:
> >
> > Reviewed-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>
>
> Thanks!
> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>
> Not a new regression so I think we should take this in the next cycle,
> let's be careful here especially since previous version was not even
> build-tested by the contributor.

Ack, our build bot ignored it as well :(

Jiyong, would you mind collecting the tags from Stefano and Michael
and reposting? I fixed our build bot, it should build test the patch
- I can't re-run on an already ignored patch, sadly.