]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
vsock/uapi: fix linux/vm_sockets.h userspace compilation errors
authorStefano Garzarella <sgarzare@redhat.com>
Mon, 23 Jun 2025 10:00:53 +0000 (12:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:38 +0000 (15:57 +0200)
commita4aa7c0010433d89e199d258f361d6fd05882e0b
treea59b054664426cfbb5054f9bacda9b232f75bf1f
parent1bc8c7b8e5b90254fb6be4f29da87e87f65740ca
vsock/uapi: fix linux/vm_sockets.h userspace compilation errors

[ Upstream commit 22bbc1dcd0d6785fb390c41f0dd5b5e218d23bdd ]

If a userspace application just include <linux/vm_sockets.h> will fail
to build with the following errors:

    /usr/include/linux/vm_sockets.h:182:39: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr’
      182 |         unsigned char svm_zero[sizeof(struct sockaddr) -
          |                                       ^~~~~~
    /usr/include/linux/vm_sockets.h:183:39: error: ‘sa_family_t’ undeclared here (not in a function)
      183 |                                sizeof(sa_family_t) -
          |

Include <sys/socket.h> for userspace (guarded by ifndef __KERNEL__)
where `struct sockaddr` and `sa_family_t` are defined.
We already do something similar in <linux/mptcp.h> and <linux/if.h>.

Fixes: d021c344051a ("VSOCK: Introduce VM Sockets")
Reported-by: Daan De Meyer <daan.j.demeyer@gmail.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Link: https://patch.msgid.link/20250623100053.40979-1-sgarzare@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/uapi/linux/vm_sockets.h