From nobody Mon Feb 9 10:32:52 2026 Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) (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 21D5A41B35A for ; Wed, 21 Jan 2026 22:12:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769033526; cv=none; b=GDf5xdoL5WEgl7JmeLDxkNLYZG9t71RjX1FMnA/qMToBBR9racM/PPg5T0ppT/rXJ5wlgKOxxBrdi95io/h9LqQ7UDVu3eRz8ohjE4Rd5/Yq00WHsCpyAth1tmdfA77BdhNEaERqtm1CTVU3IguPlusfXZQqqnatNRaK0iMZXzw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769033526; c=relaxed/simple; bh=vD964Lj1wPSOw/16ssWykcRPX0KDwrhlz4wvw7+NTyw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LVos8By2D4bYDUfPSeKaWeXveG50uQRqqcOpcRKaIpviItF+4SWvXUwce8w5Q6Ep/2C22cdKSJKjkI3MJ+vN3SkmvyhnoKCAvYMRUTHlf9/dHz2MwnRzLtrV9bsmwSoNpuzNxbGFZbnH6UIPzfb/b9x/+gWh65sS3W5U4VNk+w4= 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=Y99EiGsF; arc=none smtp.client-ip=209.85.128.173 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="Y99EiGsF" Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-790b7b3e594so3514817b3.3 for ; Wed, 21 Jan 2026 14:12:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769033521; x=1769638321; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=N0yb8kb1LkqAc5YpKYa8ha5gJygHDPK65XDs8oEX3qw=; b=Y99EiGsF9tk6R+Itkzxd0coovOKy9u52A1TXP4htixp2HgvCl6iJKdLzALNJZbVNzj aJZcvkUY/XMAR+yvEorllUkeZVJ7k7WC6zO1pZIcx8Ql8QQB95xchErZ6Ky0QukvGaAn ZStdmxheSgLVJkjkLAxtRJFmIGaW7mqAe9npBxjYaYz7YYCGdaWdz4TfWJEPTEuDt4UH zYBc5LesM3ZKR4CSql4qIdUQkNDkGMYmFXAom1jQ7ovREkwAMjGx4hSmomH2LVdtKYdD F4WQ0B9Ix79eBtf5yFI6ozINVYcYe1yQk6QNiFgjkMm/M1/ynQOIsw44A/3Sr/regoPl No/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769033521; x=1769638321; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=N0yb8kb1LkqAc5YpKYa8ha5gJygHDPK65XDs8oEX3qw=; b=TQ9J3RTlQfXZi/dKkz4KLDDewKL7H+IR5imGxK5KDAQLeKw6A+TeqUTOPqZxAblXoX lZg5R02hMAsqQBN66YTVTxTV8apu8Nc+kQHdgJ8ehkGq8aEiG4+xn7xIwVqHVWiM3oep L5QD3myrkbggD2Ve5Yz8O7/iE7SA5ctHf2hFvbFWHk4N+Tl98bI44klTZ6l/5xzTd4eV i6Hi0/+QXWNHbIMySF3BRPc4eRfLCoQioGlH659df4PwCPHaCjdW9iPlvf8dmK9RB32h JlLR3YkMTYYdgbwHGXXf4i7ljDnRbZJcjCWK50HwAuTwgFDWhPl3QmMN2bnOj0YinBkz VfcQ== X-Gm-Message-State: AOJu0YwFtVsuD4WvWum3F13VPb4tLc25lL4KJJzZNMowg2N4p9KgMC41 P+b8z0iE2dpG7nXqe27THJz910Sq0kXBWzVVi/q0OBXAmy8CayJtey7L X-Gm-Gg: AZuq6aK/NEIIKqWvWVNR4vYImQB1qNJ1LC4gd3MO4D2QtszG5uhiqFFFlPqtqgACswJ O3Zz6FgZtbi2E0Zq/6st8sbKj6cfaNw8pq7hKfZMfqGmyN4hCPirKWHqdkR185THOKdhRAEGc5i mCNjmNMcxrmc5/ngqoA0txsuxsnflMpn9e+FUvf54S9qGhEWNPw3oeO8Ho1yGXSO/IWxfhOfNPa Efa0DnsYGfjWgToz/9w/Q8rwmWBlmzQO1TBingVRn+Qdk78MYbZbIMLsYECDeXEovgHnCjTKH01 JCPjEbCBehIlieLXQHSoWgHNtcAA/L3e0Z6ObqMYAxzTjcn+8kC0rUgOr9VgRHFLQ4WVa2M00WE d5iuRmXCiJDtnAysAxzC7fkRctmOMF6VqByyfj7wUBFbmrLy+3SOAc80A3QZFE5ZoUzrX3wr+VD eXvMaMf0/m X-Received: by 2002:a05:690c:4990:b0:794:2ef:a445 with SMTP id 00721157ae682-79402efa762mr75302437b3.15.1769033520799; Wed, 21 Jan 2026 14:12:00 -0800 (PST) Received: from localhost ([2a03:2880:25ff:c::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-794295ec411sm5665437b3.15.2026.01.21.14.12.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jan 2026 14:12:00 -0800 (PST) From: Bobby Eshleman Date: Wed, 21 Jan 2026 14:11:42 -0800 Subject: [PATCH net-next v16 02/12] virtio: set skb owner of virtio_transport_reset_no_sock() reply Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260121-vsock-vmtest-v16-2-2859a7512097@meta.com> References: <20260121-vsock-vmtest-v16-0-2859a7512097@meta.com> In-Reply-To: <20260121-vsock-vmtest-v16-0-2859a7512097@meta.com> To: Stefano Garzarella , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Stefan Hajnoczi , "Michael S. Tsirkin" , Jason Wang , =?utf-8?q?Eugenio_P=C3=A9rez?= , Xuan Zhuo , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Bryan Tan , Vishnu Dasa , Broadcom internal kernel review list , Shuah Khan , Long Li , Jonathan Corbet Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, netdev@vger.kernel.org, kvm@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kselftest@vger.kernel.org, berrange@redhat.com, Sargun Dhillon , linux-doc@vger.kernel.org, Bobby Eshleman , Bobby Eshleman X-Mailer: b4 0.14.3 From: Bobby Eshleman 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 Signed-off-by: Bobby Eshleman --- Changes in v11: - move before adding to netns support (Stefano) 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 stru= ct virtio_transport *t, .op =3D VIRTIO_VSOCK_OP_RST, .type =3D le16_to_cpu(hdr->type), .reply =3D 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 =3D vsock_sk(skb->sk), }; struct sk_buff *reply; =20 --=20 2.47.3