History

uapi: add missing ip/ipv6 header dependencies for linux/stddef.h

Since commit 58e0be1ef6118 ("net: use struct_group to copy ip/ipv6 header addresses"), ip and ipv6 headers started to use the __struct_group definition, which is defined at include/uapi/linux/stddef.h. However, linux/stddef.h isn't explicitly included in include/uapi/linux/{ip,ipv6}.h, which breaks build of xskxceiver bpf selftest if you install the uapi headers in the system: $ make V=1 xskxceiver -C tools/testing/selftests/bpf ... make: Entering directory '(...)/tools/testing/selftests/bpf' gcc -g -O0 -rdynamic -Wall -Werror (...) In file included from xskxceiver.c:79: /usr/include/linux/ip.h:103:9: error: expected specifier-qualifier-list before ‘__struct_group’ 103 | __struct_group(/* no tag */, addrs, /* no attrs */, | ^~~~~~~~~~~~~~ ... Include the missing <linux/stddef.h> dependency in ip.h and do the same for the ipv6.h header.

Herton R. Krzesinski committed 3 years ago

Commit 03702d41 parent c1d2ecd2 files · +2 −0Browse files

Unified · Split

2 files
  1. include/uapi/linux/ip.h +1 −0
  2. include/uapi/linux/ipv6.h +1 −0
include/uapi/linux/ip.h+1−0
@@ -18,6 +18,7 @@ · 17 unmodified lines
1818 #ifndef _UAPI_LINUX_IP_H
1919 #define _UAPI_LINUX_IP_H
2020 #include <linux/types.h>
21+#include <linux/stddef.h>
2122 #include <asm/byteorder.h>
2223
2324 #define IPTOS_TOS_MASK 0x1E
include/uapi/linux/ipv6.h+1−0
@@ -4,6 +4,7 @@ · 3 unmodified lines
44
55 #include <linux/libc-compat.h>
66 #include <linux/types.h>
7+#include <linux/stddef.h>
78 #include <linux/in6.h>
89 #include <asm/byteorder.h>
910