Re: [PATCH net] vsock/uapi: fix linux/vm_sockets.h userspace compilation errors
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski : On Mon, 23 Jun 2025 12:00:53 +0200 you wrote: > From: Stefano Garzarella > > If a userspace application just include 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) - > | > > [...] Here is the summary with links: - [net] vsock/uapi: fix linux/vm_sockets.h userspace compilation errors https://git.kernel.org/netdev/net/c/22bbc1dcd0d6 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
[PATCH net] vsock/uapi: fix linux/vm_sockets.h userspace compilation errors
From: Stefano Garzarella
If a userspace application just include 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 for userspace (guarded by ifndef __KERNEL__)
where `struct sockaddr` and `sa_family_t` are defined.
We already do something similar in and .
Fixes: d021c344051a ("VSOCK: Introduce VM Sockets")
Reported-by: Daan De Meyer
Signed-off-by: Stefano Garzarella
---
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 ed07181d4eff..e05280e41522 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 /* for struct sockaddr and sa_family_t */
+#endif
+
#include
#include
--
2.49.0

