Musl defines its own struct ethhdr and thus defines __UAPI_DEF_ETHHDR to zero. To avoid struct redefinition errors, user space is therefore supposed to include netinet/if_ether.h before (or instead of) linux/if_ether.h. To relieve them from this burden, include the libc header here if not building for kernel space. Reported-by: Alyssa Ross Suggested-by: Florian Westphal Signed-off-by: Phil Sutter --- include/uapi/linux/netfilter_bridge.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/uapi/linux/netfilter_bridge.h b/include/uapi/linux/netfilter_bridge.h index 1610fdbab98d..d4440e56da60 100644 --- a/include/uapi/linux/netfilter_bridge.h +++ b/include/uapi/linux/netfilter_bridge.h @@ -5,16 +5,17 @@ /* bridge-specific defines for netfilter. */ +#ifndef __KERNEL__ +#include /* for INT_MIN, INT_MAX */ +#include /* for __UAPI_DEF_ETHHDR if defined */ +#endif + #include #include #include #include #include -#ifndef __KERNEL__ -#include /* for INT_MIN, INT_MAX */ -#endif - /* Bridge Hooks */ /* After promisc drops, checksum checks. */ #define NF_BR_PRE_ROUTING 0 -- 2.51.0