From nobody Mon Feb 9 08:00:12 2026 Received: from mailtransmit04.runbox.com (mailtransmit04.runbox.com [185.226.149.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21BA0219E8C; Mon, 29 Dec 2025 19:43:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.226.149.37 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767037417; cv=none; b=UrwWTC+hH7Dpm8nsa8kKgaH4MM6EhA+MjadNIyH0V7C/EKXPu5ek4hvopObIjgOhGYlsX/0q7+a9iLN8Qbmz8jd2yViD3a6pcNycu/82zSSfmfG2iE/xi4/kYgsfRoYXv16jD5aBSY4pugZmZkAmXLHGxv8Sj19DRbF0K+H2VgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767037417; c=relaxed/simple; bh=cJnrWkTrM9BqnF980ApPVLsFX3lGeVXOMLICrOdkQgI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MsdkWZ2DdjKPAasqbwj+dqRyuwlrDJJBIjyl8OccKkK408+mcJ92dmyeuZX+DtCIhZgDpp4FujvkiH8mER3r5ZO9eVjWS1kiUnVAeTmYC9ZseYivWmXTlqr8HeRH9WoBH85vMVOuALfQm6lfnrISU/Fy+n1xvAQVgOe3E0vg+6k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co; spf=pass smtp.mailfrom=rbox.co; dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b=ACkCnhKq; arc=none smtp.client-ip=185.226.149.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rbox.co Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b="ACkCnhKq" Received: from mailtransmit02.runbox ([10.9.9.162] helo=aibo.runbox.com) by mailtransmit04.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1vaJ9Q-00DYtm-Pj; Mon, 29 Dec 2025 20:43:32 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=rbox.co; s=selector2; h=Cc:To:In-Reply-To:References:Message-Id: Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From; bh=LxJRcNt1H3n/G01g5/IvxN20LnKqGALHfiDAONsEvug=; b=ACkCnhKq8dcz0n5lNUmJvefVok 7VGkCyapgxh9c7zFhhDfTFO12Bx0Lpjn2h8Jo9htkAvi9e4fFIAQ0wzCkJKsGakJJ92/Q6zBIpFQk BWjf506L6QpPSiysXPmyCxIOqy43CdQwwwKso8yTPFG6oaQ3tUO1Q2FFG2rgdpKPArFCKpizTy9dG ne07KumHj1dgi19wSkSTi8KtkL8UZRxmGow1XRVsjtKK+QlJQSeEngrJ9dfN6WxEPo84yyBtNN5Aj ZamwpAGwKFRMLPhnvd4SS8TCuI5U2vAK3ywmYJ6SUgJBnEa/ZwTxh3u9kUAVz6K3FgAb0OamlV0e5 wa5U+++Q==; Received: from [10.9.9.74] (helo=submission03.runbox) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1vaJ9Q-0000NL-FP; Mon, 29 Dec 2025 20:43:32 +0100 Received: by submission03.runbox with esmtpsa [Authenticated ID (604044)] (TLS1.2:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.93) id 1vaJ99-0055FL-F0; Mon, 29 Dec 2025 20:43:15 +0100 From: Michal Luczaj Date: Mon, 29 Dec 2025 20:43:10 +0100 Subject: [PATCH net v2 1/2] vsock: Make accept()ed sockets use custom setsockopt() 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: <20251229-vsock-child-sock-custom-sockopt-v2-1-64778d6c4f88@rbox.co> References: <20251229-vsock-child-sock-custom-sockopt-v2-0-64778d6c4f88@rbox.co> In-Reply-To: <20251229-vsock-child-sock-custom-sockopt-v2-0-64778d6c4f88@rbox.co> To: Stefano Garzarella , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Arseniy Krasnov Cc: virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Michal Luczaj X-Mailer: b4 0.14.3 SO_ZEROCOPY handling in vsock_connectible_setsockopt() does not get called on accept()ed sockets due to a missing flag. Flip it. Fixes: e0718bd82e27 ("vsock: enable setting SO_ZEROCOPY") Signed-off-by: Michal Luczaj --- net/vmw_vsock/af_vsock.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c index adcba1b7bf74..a3505a4dcee0 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c @@ -1787,6 +1787,10 @@ static int vsock_accept(struct socket *sock, struct = socket *newsock, } else { newsock->state =3D SS_CONNECTED; sock_graft(connected, newsock); + + set_bit(SOCK_CUSTOM_SOCKOPT, + &connected->sk_socket->flags); + if (vsock_msgzerocopy_allow(vconnected->transport)) set_bit(SOCK_SUPPORT_ZC, &connected->sk_socket->flags); --=20 2.52.0 From nobody Mon Feb 9 08:00:12 2026 Received: from mailtransmit05.runbox.com (mailtransmit05.runbox.com [185.226.149.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B33D423BD05; Mon, 29 Dec 2025 19:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.226.149.38 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767037417; cv=none; b=E3CtD7hXSwZkOOm0+AJXrRUTBQ8OLY6vVAH8H4Rsm/Ly5dUQFCB/mnio2JuT6+8WVfn7t7xCkGiSaPFfeym8iHdPOiibLgzlYjEC0hA7GlwARPvRemgVyxZ4+zuUMrIO9xVWk982AQTbbJDFHhMhWciiETAVo0GRmEPB7vtY4k8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767037417; c=relaxed/simple; bh=qnFOcfaQ+Fdf0303gqILTNW2VZkb6iJ3agfVLqGwgPY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mzB9tGkASGz2FYxuRbPEk2WZs2TdRnjJ4bJUFcKKZU20GmSO7lcWln8d8P9ij/cObnLh+OSBRyK+HbB7pjzGe+o0mIzScjc4HcufvkraetXK2CLa281zpEvKhq/VlhAQqFnYYxZDIrk3Mz1+C4ybVDrFCLEI5tNWbSeOrDaNr1Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co; spf=pass smtp.mailfrom=rbox.co; dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b=eDUWI4/z; arc=none smtp.client-ip=185.226.149.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rbox.co Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b="eDUWI4/z" Received: from mailtransmit03.runbox ([10.9.9.163] helo=aibo.runbox.com) by mailtransmit05.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1vaJ9R-00Cgrp-S4; Mon, 29 Dec 2025 20:43:33 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=rbox.co; s=selector2; h=Cc:To:In-Reply-To:References:Message-Id: Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From; bh=u0Lx+3sG2FvgAEiBDLuAH3C9233OnOOeqeRLegSabKQ=; b=eDUWI4/zjOPlxS1BwqtyYc7/9+ B6n2v5NJo2eDQT/nXqGZ5c8BQmIKUzpAhoHxg0KoTslerEXmjn4rc0aWOax4JiFWq9V03GJmHK6x9 T48nrvrMTVGC6o28tIwxnus9T2hAJ0clb3lIfvCBq6ufI9vi1xP7oact4j5FIVEfG4piEIt0e+uYH YzinvpznFQv9RoUxi6emboRYp8dAJp6IPes3rumg1qemXqEF0keuCEXQH517AbYJZl4fGF6QV/cwd X/Mp3RAYnEpp2rm+A7YhVkHV2Xk+0loZtci7S7Jcy4Wou6YrYiFIC1BsGK2M6ZiPz25kFQEdakwZN tzOSiWrA==; Received: from [10.9.9.74] (helo=submission03.runbox) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1vaJ9R-0007qe-IK; Mon, 29 Dec 2025 20:43:33 +0100 Received: by submission03.runbox with esmtpsa [Authenticated ID (604044)] (TLS1.2:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.93) id 1vaJ9A-0055FL-3P; Mon, 29 Dec 2025 20:43:16 +0100 From: Michal Luczaj Date: Mon, 29 Dec 2025 20:43:11 +0100 Subject: [PATCH net v2 2/2] vsock/test: Test setting SO_ZEROCOPY on accept()ed socket 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: <20251229-vsock-child-sock-custom-sockopt-v2-2-64778d6c4f88@rbox.co> References: <20251229-vsock-child-sock-custom-sockopt-v2-0-64778d6c4f88@rbox.co> In-Reply-To: <20251229-vsock-child-sock-custom-sockopt-v2-0-64778d6c4f88@rbox.co> To: Stefano Garzarella , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Arseniy Krasnov Cc: virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Michal Luczaj X-Mailer: b4 0.14.3 Make sure setsockopt(SOL_SOCKET, SO_ZEROCOPY) on an accept()ed socket is handled by vsock's implementation. Reviewed-by: Stefano Garzarella Signed-off-by: Michal Luczaj --- tools/testing/vsock/vsock_test.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tools/testing/vsock/vsock_test.c b/tools/testing/vsock/vsock_t= est.c index 9e1250790f33..bbe3723babdc 100644 --- a/tools/testing/vsock/vsock_test.c +++ b/tools/testing/vsock/vsock_test.c @@ -2192,6 +2192,33 @@ static void test_stream_nolinger_server(const struct= test_opts *opts) close(fd); } =20 +static void test_stream_accepted_setsockopt_client(const struct test_opts = *opts) +{ + int fd; + + fd =3D vsock_stream_connect(opts->peer_cid, opts->peer_port); + if (fd < 0) { + perror("connect"); + exit(EXIT_FAILURE); + } + + close(fd); +} + +static void test_stream_accepted_setsockopt_server(const struct test_opts = *opts) +{ + int fd; + + fd =3D vsock_stream_accept(VMADDR_CID_ANY, opts->peer_port, NULL); + if (fd < 0) { + perror("accept"); + exit(EXIT_FAILURE); + } + + enable_so_zerocopy_check(fd); + close(fd); +} + static struct test_case test_cases[] =3D { { .name =3D "SOCK_STREAM connection reset", @@ -2371,6 +2398,11 @@ static struct test_case test_cases[] =3D { .run_client =3D test_seqpacket_unread_bytes_client, .run_server =3D test_seqpacket_unread_bytes_server, }, + { + .name =3D "SOCK_STREAM accept()ed socket custom setsockopt()", + .run_client =3D test_stream_accepted_setsockopt_client, + .run_server =3D test_stream_accepted_setsockopt_server, + }, {}, }; =20 --=20 2.52.0