| From bb978956e329d1840cbe1f8bb1574a20ebfbcd57 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 23 Jun 2025 12:00:53 +0200 |
| Subject: vsock/uapi: fix linux/vm_sockets.h userspace compilation errors |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Stefano Garzarella <sgarzare@redhat.com> |
| |
| [ 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 | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/include/uapi/linux/vm_sockets.h b/include/uapi/linux/vm_sockets.h |
| index ed07181d4eff9..e05280e415228 100644 |
| --- a/include/uapi/linux/vm_sockets.h |
| +++ b/include/uapi/linux/vm_sockets.h |
| @@ -17,6 +17,10 @@ |
| #ifndef _UAPI_VM_SOCKETS_H |
| #define _UAPI_VM_SOCKETS_H |
| |
| +#ifndef __KERNEL__ |
| +#include <sys/socket.h> /* for struct sockaddr and sa_family_t */ |
| +#endif |
| + |
| #include <linux/socket.h> |
| #include <linux/types.h> |
| |
| -- |
| 2.39.5 |
| |