]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
vsock: Make accept()ed sockets use custom setsockopt()
authorMichal Luczaj <mhal@rbox.co>
Mon, 29 Dec 2025 19:43:10 +0000 (20:43 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 6 Jan 2026 00:14:50 +0000 (16:14 -0800)
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 <mhal@rbox.co>
Link: https://patch.msgid.link/20251229-vsock-child-sock-custom-sockopt-v2-1-64778d6c4f88@rbox.co
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/vmw_vsock/af_vsock.c

index adcba1b7bf74a9d7514a6ee49e689872f9406208..a3505a4dcee0b6c9f5f1e45dec048ece805ddc13 100644 (file)
@@ -1787,6 +1787,10 @@ static int vsock_accept(struct socket *sock, struct socket *newsock,
                } else {
                        newsock->state = 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);