On Tue, Aug 05, 2025 at 02:49:17PM -0700, Bobby Eshleman wrote: > From: Bobby Eshleman <bobbyeshle...@meta.com> > > Add NS support to vsock loopback. Sockets in a global mode netns > communicate with each other, regardless of namespace. Sockets in a local > mode netns may only communicate with other sockets within the same > namespace. > > Signed-off-by: Bobby Eshleman <bobbyeshle...@meta.com>
... > diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c ... > @@ -46,7 +57,7 @@ static int vsock_loopback_cancel_pkt(struct vsock_sock *vsk) > return 0; > } > > -static bool vsock_loopback_seqpacket_allow(u32 remote_cid); > +static bool vsock_loopback_seqpacket_allow(struct vsock_sock *vsk, u32 > remote_cid); This change needs to be squashed into PATCH 3/12 vsock: add netns to af_vsock core To avoid build breakage. Likewise with the other change to vsock_loopback_seqpacket_allow below. And I think also for a number of other changes made by PATCH 3/12. Please make sure that patches don't introduce transient build failures. It breaks bisection. On the topic of vsock_loopback_seqpacket_allow, also: * Please line wrap this so that the code is 80 columns wide or less, as is still preferred for Networking code. Flagged by checkpatch.pl --max-line-length=80 * Can we move the definition of vsock_loopback_seqpacket_allow() here? The function itself is is trivial. And doing so would avoid a forward declaration. > static bool vsock_loopback_msgzerocopy_allow(void) > { > return true; ... > +int vsock_loopback_init_net(struct net *net) > +{ > + net->vsock.loopback = kmalloc(GFP_KERNEL, sizeof(struct > vsock_loopback)); > + if (!net->vsock.loopback) > + return -ENOMEM; > + > + return vsock_loopback_init_vsock(net->vsock.loopback); > +} > + > +void vsock_loopback_exit_net(struct net *net) > +{ > + vsock_loopback_deinit_vsock(net->vsock.loopback); > + kfree(net->vsock.loopback); > +} I think EXPORT_SYMBOL_GPL is needed for both vsock_loopback_exit_net and vsock_loopback_init_net for the case where CONFIG_VSOCKETS=m Also, in Kconfig VSOCKETS_LOOPBACK depends on VSOCKETS. But this code adds a reverse dependency. As it stands it's possible to configure VSOCKETS without VSOCKETS_LOOPBACK, which will not compile. Perhaps stub implementations of vsock_loopback_init_net and vsock_loopback_exit_net should be implemented in af_vsock.h if VSOCKETS_LOOPBACK is not enabled? ... -- pw-bot: changes-requested