From 62689a5371ff8bbfc8c04625794c62d957b0863f Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 21 Dec 2019 23:36:33 -0600 Subject: [PATCH] uapi: Prevent redefinition of struct iphdr As with struct ethhdr, the musl libc provides its own definition of the iphdr struct. This guard ensures software like net-tools builds correctly on the musl libc. The __UAPI_DEF_IPHDR definition is in ip.h itself to prevent the issue in commit da360299b673 ("uapi/if_ether.h: move __UAPI_DEF_ETHHDR libc define") from being seen here. Signed-off-by: A. Wilcox --- include/uapi/linux/ip.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h index e42d13b55cf3..d34a0d295672 100644 --- a/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h @@ -83,6 +83,13 @@ #define IPV4_BEET_PHMAXLEN 8 +/* Allow libcs to deactivate this - musl has its own copy in */ + +#ifndef __UAPI_DEF_IPHDR +#define __UAPI_DEF_IPHDR 1 +#endif + +#if __UAPI_DEF_IPHDR struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4, @@ -104,6 +111,7 @@ struct iphdr { __be32 daddr; /*The options start here. */ }; +#endif struct ip_auth_hdr { -- 2.22.1