]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jan 2026 15:35:25 +0000 (16:35 +0100)
[ Upstream commit ce5e612dd411de096aa041b9e9325ba1bec5f9f4 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/vmw_vsock/af_vsock.c

index a9ca9c3b87b31a3f5f3fdfbc9ca7cbc107db29f9..cbd649bf01459d075651d9c5b06290e0fdb4d3d4 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);