On Tue, Dec 23, 2025 at 04:28:37PM -0800, Bobby Eshleman wrote: > From: Bobby Eshleman <[email protected]> > > Associate reply packets with the sending socket. When vsock must reply > with an RST packet and there exists a sending socket (e.g., for > loopback), setting the skb owner to the socket correctly handles > reference counting between the skb and sk (i.e., the sk stays alive > until the skb is freed). > > This allows the net namespace to be used for socket lookups for the > duration of the reply skb's lifetime, preventing race conditions between > the namespace lifecycle and vsock socket search using the namespace > pointer. > > Reviewed-by: Stefano Garzarella <[email protected]> > Signed-off-by: Bobby Eshleman <[email protected]> > --- > Changes in v11: > - move before adding to netns support (Stefano)
can you explain about the revert please? I looked at feedback from Stefano and all he said aparently was not to break bisect. > Changes in v10: > - break this out into its own patch for easy revert (Stefano) > --- > net/vmw_vsock/virtio_transport_common.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/net/vmw_vsock/virtio_transport_common.c > b/net/vmw_vsock/virtio_transport_common.c > index fdb8f5b3fa60..718be9f33274 100644 > --- a/net/vmw_vsock/virtio_transport_common.c > +++ b/net/vmw_vsock/virtio_transport_common.c > @@ -1165,6 +1165,12 @@ static int virtio_transport_reset_no_sock(const struct > virtio_transport *t, > .op = VIRTIO_VSOCK_OP_RST, > .type = le16_to_cpu(hdr->type), > .reply = true, > + > + /* Set sk owner to socket we are replying to (may be NULL for > + * non-loopback). This keeps a reference to the sock and > + * sock_net(sk) until the reply skb is freed. > + */ > + .vsk = vsock_sk(skb->sk), > }; > struct sk_buff *reply; > > > -- > 2.47.3
