Description: Drop bundled copy of linux/types.h The source ships an outdated copy of the kernel UAPI header include/linux/types.h. Since the build uses -I./include, it shadows the system header from linux-libc-dev. Newer kernel headers define __u128 in linux/types.h and use it in asm/sigcontext.h on arm64 (pulled in via ), so the stale copy causes: asm/sigcontext.h:81:9: error: unknown type name '__u128' The system header provides everything the bundled copy did, so just use it. Author: Sebastien Bacher Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ebtables/+bug/2169809 Forwarded: no Last-Update: 2026-10-07 --- --- ebtables-2.0.11.orig/include/linux/types.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _LINUX_TYPES_H -#define _LINUX_TYPES_H - -#include - -#ifndef __ASSEMBLY__ - -#include - - -/* - * Below are truly Linux-specific types that should never collide with - * any application/library that wants linux/types.h. - */ - -#ifdef __CHECKER__ -#define __bitwise__ __attribute__((bitwise)) -#else -#define __bitwise__ -#endif -#ifdef __CHECK_ENDIAN__ -#define __bitwise __bitwise__ -#else -#define __bitwise -#endif - -typedef __u16 __bitwise __le16; -typedef __u16 __bitwise __be16; -typedef __u32 __bitwise __le32; -typedef __u32 __bitwise __be32; -typedef __u64 __bitwise __le64; -typedef __u64 __bitwise __be64; - -typedef __u16 __bitwise __sum16; -typedef __u32 __bitwise __wsum; - -/* - * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid - * common 32/64-bit compat problems. - * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other - * architectures) and to 8-byte boundaries on 64-bit architectures. The new - * aligned_64 type enforces 8-byte alignment so that structs containing - * aligned_64 values have the same alignment on 32-bit and 64-bit architectures. - * No conversions are necessary between 32-bit user-space and a 64-bit kernel. - */ -#define __aligned_u64 __u64 __attribute__((aligned(8))) -#define __aligned_be64 __be64 __attribute__((aligned(8))) -#define __aligned_le64 __le64 __attribute__((aligned(8))) - -#endif /* __ASSEMBLY__ */ -#endif /* _LINUX_TYPES_H */