From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18C2A72623 for ; Fri, 7 Nov 2025 02:17:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762481870; cv=none; b=YEd7yPIPHa+olz1Wfx12PEg7CvkQ4yANq4GU98CkdzkBiVCQF7V/5zEHJVwOtT5fvfWDPtMIf1420jwLGBmspcWqUwk2nZtcLA+nwxu9xrpMOTo94+nQm884CVlS7ysNsUtbxocKV8PAaAKZT5OMtnFcjDrq2ksok3h2DcfAJ1M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762481870; c=relaxed/simple; bh=n3gYr3RvsG4vHe7a+dCbLSQSRL9C74quEHXFc8TjktI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZdJ6lxBZjD4c7iFYWkgiTGB1j67ROWfPfYd19pPblay1HvJAzlU4fgGZgJJPaGrRN5zTcsxEq5v4Tjfuk3CSRL5rAfvI2ccwkbhGORccVTrTbXeLtsEwvZURXpqI9EG2D2lsKv+wDv+VAPjjqebKFOGH0J7hc2C5vHJyHSrJoL0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d9v2D5Ss; arc=none smtp.client-ip=209.85.128.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d9v2D5Ss" Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-786a317fe78so2414377b3.2 for ; Thu, 06 Nov 2025 18:17:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762481867; x=1763086667; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=f/qDZWpyxKihNvVQgiqCWAS1sqvTSoRcnWFm1GLCK/o=; b=d9v2D5SsfeCeXVKsLIF6ukY/S5jDZtenVQczg0yRrNoCXSF0W+9lD4qyJy16KwTV7n 6anuKzewTjR5vHbYjW1YM9nwlFzsp85OFJg2FR/41t2WMcHb1M6eWJP2+JGDRRWd7Q9M fXI6roy2jhsvLTljdK+csj6wmJax8h60YPR7nr9c28hfyImyTjMiYnk3quQbc43N3NZs 3V3ZIMd0aEJaNANavhjh1eIP6q+OYOa47Tr2KnIztIlMBsuC5G8RFWH+los1OOdPSnI/ OtdiW2LP55wy6MpyXKagWKxDIPc5slvOgr2xdXWpjqa+2OHB/iC7tHXw/+k7T5eNWGx3 OLGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762481867; x=1763086667; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f/qDZWpyxKihNvVQgiqCWAS1sqvTSoRcnWFm1GLCK/o=; b=j+h9lkEESL2tx/O4Qt4tb9y2pn5RXdkXyLWGNuDX2TazBvWOUpMOalRubL2bf8acba ko/2kgHezNfEH28X3lQp8vYmAA+klUwL02M8lS0gDhGB7pR5eKvodUJvn6662qFzz0kd ifj7JJQtDegGMrvFDL2p8NB1tsCdrAitCZdL3a0CCpKZ340vzrWqJDXWNCXpLPJvPpBy PBLuBHTWI2EaCawQk14Z5W6D047owroTEXaD18JPYvkGhaTGOHGHK+Ep5MieaH1x+V6j xueRgX63jcEQ0TBu2jA5+n4xISwbhZYyXEqMu0aTw6n9s6pMmVECBw55Ed3g1Oiz2Uaf n9Jw== X-Forwarded-Encrypted: i=1; AJvYcCWrVY1Mwrwe7rGK7NNPCL5wlYWT1kowuXWBbrQteWOjxfv+HCrVB+OMpCORVWOb0uitFP/jRS9li6EyWsE=@vger.kernel.org X-Gm-Message-State: AOJu0YzkTZox3QlllDsPI8pO/h45lsWKirLjddU6jwmnEpDpSFQL8Xsr /Fjkfpe+h7yKE1xiRshldiypmJiV3wJ4wWix1BARdD0mnvw0LoFGAcl4nxQfdE/H X-Gm-Gg: ASbGnctzovtN6q2jY39gkc1S/nML+KrMhxbX2tF2r4biai3po69zKyg78JZpOYmOIsC 6EQ4KVgFx19zzI+lB2xuxwA4sY9Rh1r8YUo8MRILR8jQ+6egC98t/KKkIsEtOCis93AgiNypx2y Kz/eliQa9nl1RqjVfoBFT10Skmi4eLsFENjF/hEl9Fa94sGUTHHI/1RuBPdIeYXOloAGnYXB5uY FW2OkTlqtLrzmcIQ7+sYEF/KW4cpeUgUEcUtJSGS85jUJ4BsiBoew9c6wvFsJx9C4K6+T914WfX zqoPoFCnrsSXI6YglR6koI3Mr131mv1IkBmduVx/q3+FK/3PsNTZw3Jp0IQPOBXow0MjFYhaf6u 8e2jEKfhx8O4PjHn8YOaSjNGl815dFGThqahWjsLAakdYmU7l27GZgSFZBSKZFJtB3SKTf75tA3 duBUhNrwu6ko/WYqkd0An0IBo6Syjczpa09NT6 X-Google-Smtp-Source: AGHT+IFZ8bZR9p7ByW2qTZ7t1G8+dcC59pbrnej+Xjx5wnA7nuCjNt5Anuhhygsgcb+Dgcf4MRxUlQ== X-Received: by 2002:a05:690c:62c1:b0:786:6383:658b with SMTP id 00721157ae682-787c53e7b73mr13168407b3.46.1762481867107; Thu, 06 Nov 2025 18:17:47 -0800 (PST) Received: from devvm11784.nha0.facebook.com ([2a03:2880:25ff:58::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-787b159b3cdsm13516547b3.33.2025.11.06.18.17.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Nov 2025 18:17:46 -0800 (PST) Date: Thu, 6 Nov 2025 18:17:45 -0800 From: Bobby Eshleman To: Stefano Garzarella Cc: Shuah Khan , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Stefan Hajnoczi , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , Eugenio =?iso-8859-1?Q?P=E9rez?= , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Bryan Tan , Vishnu Dasa , Broadcom internal kernel review list , virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-hyperv@vger.kernel.org, berrange@redhat.com, Bobby Eshleman Subject: Re: [PATCH net-next v8 05/14] vsock/loopback: add netns support Message-ID: References: <20251023-vsock-vmtest-v8-0-dea984d02bb0@meta.com> <20251023-vsock-vmtest-v8-5-dea984d02bb0@meta.com> Precedence: bulk X-Mailing-List: linux-hyperv@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Thu, Nov 06, 2025 at 05:18:36PM +0100, Stefano Garzarella wrote: > On Thu, Oct 23, 2025 at 11:27:44AM -0700, Bobby Eshleman wrote: > > From: Bobby Eshleman > > > > 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. > > > > Use pernet_ops to install a vsock_loopback for every namespace that is > > created (to be used if local mode is enabled). > > > > Retroactively call init/exit on every namespace when the vsock_loopback > > module is loaded in order to initialize the per-ns device. > > > > Signed-off-by: Bobby Eshleman > > --- > > I'm a bit confused, should we move this after the next patch that add > support of netns in the virtio common module? > > Or this is a pre-requisite? > Yes let's do that, it does need common. [...] > > #endif /* __NET_NET_NAMESPACE_VSOCK_H */ > > diff --git a/net/vmw_vsock/vsock_loopback.c b/net/vmw_vsock/vsock_loopback.c > > index a8f218f0c5a3..474083d4cfcb 100644 > > --- a/net/vmw_vsock/vsock_loopback.c > > +++ b/net/vmw_vsock/vsock_loopback.c > > @@ -28,8 +28,16 @@ static u32 vsock_loopback_get_local_cid(void) > > > > static int vsock_loopback_send_pkt(struct sk_buff *skb) > > { > > - struct vsock_loopback *vsock = &the_vsock_loopback; > > + struct vsock_loopback *vsock; > > int len = skb->len; > > + struct net *net; > > + > > + net = virtio_vsock_skb_net(skb); > > + > > + if (virtio_vsock_skb_net_mode(skb) == VSOCK_NET_MODE_LOCAL) > > + vsock = (struct vsock_loopback *)net->vsock.priv; > > Is there some kind of refcount on the net? > What I mean is, are we sure this pointer is still valid? Could the net > disappear in the meantime? I only considered the case of net being removed, which I think is okay because user sockets take a net reference in sk_alloc(), and we can't reach this point after the sock is destroyed and the reference is released because the transport will be unassigned prior. But... I'm now realizing there is the case of virtio_transport_reset_no_sock() where skb net is null. I can't see why that wouldn't be possible for loopback? Let's handle that case to be sure... > > The rest LGTM! > > Thanks, Stefano > Best, Bobby