* [Buildroot] [PATCH] package/iptables: fix arm64 build with kernel headers >= 7.3
@ 2026-10-24 14:21 Yegor Yefremov
2026-10-25 20:53 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Yegor Yefremov @ 2026-10-24 14:21 UTC (permalink / raw)
To: buildroot
With kernel headers 7.3, iptables fails to build on arm64:
In file included from [...]/sysroot/usr/include/bits/sigcontext.h:30,
from [...]/sysroot/usr/include/signal.h:301,
from [...]/sysroot/usr/include/sys/wait.h:36,
from xtables.c:37:
[...]/sysroot/usr/include/asm/sigcontext.h:81:9: error: unknown type name '__u128'; did you mean '__u32'?
Linux 7.3 changed arm64's asm/sigcontext.h to use the __u128 type from
linux/types.h. iptables bundles an old copy of linux/types.h, lacking
__u128, which shadows the one from the kernel headers as the build uses
-I../include.
Add a patch, sent upstream, dropping the bundled copy, as was already
done in ebtables. iptables only needs __aligned_u64 and __sum16 from it,
which the kernel headers provide well before 3.12, the minimum required
by the iptables package.
This issue has been present since commit b216661a73f7
("{toolchain, linux-headers}: add support for 7.3 headers"), which made
7.3 the latest kernel headers version. It only affects master, no
release or maintenance branch has 7.3 headers.
Fixes:
https://autobuild.buildroot.org/results/3d3d40449ed637fc7cfe49872f35ed6667510058
Fixes: b216661a73f7b8e21290a1bc9033e7f9b5fb230e ("{toolchain, linux-headers}: add support for 7.3 headers")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
...e-linux-drop-bundled-copy-of-types.h.patch | 92 +++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 package/iptables/0001-include-linux-drop-bundled-copy-of-types.h.patch
diff --git a/package/iptables/0001-include-linux-drop-bundled-copy-of-types.h.patch b/package/iptables/0001-include-linux-drop-bundled-copy-of-types.h.patch
new file mode 100644
index 0000000000..96fcd29798
--- /dev/null
+++ b/package/iptables/0001-include-linux-drop-bundled-copy-of-types.h.patch
@@ -0,0 +1,92 @@
+From 7eedb693023c1218aa633aaaec266af1b9b01175 Mon Sep 17 00:00:00 2001
+From: Yegor Yefremov <yegorslists@googlemail.com>
+Date: Sat, 24 Oct 2026 15:29:30 +0200
+Subject: [PATCH] include: linux: drop bundled copy of types.h
+
+The bundled include/linux/types.h is a copy of the kernel UAPI header
+from v3.1-rc3. Since the build uses -I../include, it shadows the system
+<linux/types.h>.
+
+Kernel UAPI headers v7.3 changed arm64's asm/sigcontext.h, included via
+<signal.h>, to use the __u128 type from linux/types.h:
+
+ - __uint128_t vregs[32];
+ + __u128 vregs[32];
+
+The stale copy lacks __u128, so the build fails on arm64:
+
+ asm/sigcontext.h:81:9: error: unknown type name '__u128'; did you mean '__u32'?
+
+The system header provides everything the bundled copy did (the
+__aligned_u64 and __sum16 types used by iptables have been available
+since well before v3.10), so drop it, as was done for ebtables.
+
+Link: https://lore.kernel.org/netfilter-devel/CAD04=wrZafKknWixGGRZWtYD_ydfdL4Uk39s_RkwZ6WUEVATKg@mail.gmail.com/
+Assisted-by: Claude:claude-opus-5-5
+Upstream: https://lore.kernel.org/netfilter-devel/20261024135509.4097035-1-yegorslists@googlemail.com/
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ include/linux/types.h | 51 -------------------------------------------
+ 1 file changed, 51 deletions(-)
+ delete mode 100644 include/linux/types.h
+
+diff --git a/include/linux/types.h b/include/linux/types.h
+deleted file mode 100644
+index 630cd3bb..00000000
+--- a/include/linux/types.h
++++ /dev/null
+@@ -1,51 +0,0 @@
+-#ifndef _LINUX_TYPES_H
+-#define _LINUX_TYPES_H
+-
+-#include <asm/types.h>
+-
+-#ifndef __ASSEMBLY__
+-
+-#include <linux/posix_types.h>
+-
+-
+-/*
+- * 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 architetures. 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 */
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH] package/iptables: fix arm64 build with kernel headers >= 7.3
2026-10-24 14:21 [Buildroot] [PATCH] package/iptables: fix arm64 build with kernel headers >= 7.3 Yegor Yefremov
@ 2026-10-25 20:53 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-25 20:53 UTC (permalink / raw)
To: Yegor Yefremov; +Cc: buildroot
On Sat, Oct 24, 2026 at 04:21:21PM +0200, Yegor Yefremov wrote:
> With kernel headers 7.3, iptables fails to build on arm64:
>
> In file included from [...]/sysroot/usr/include/bits/sigcontext.h:30,
> from [...]/sysroot/usr/include/signal.h:301,
> from [...]/sysroot/usr/include/sys/wait.h:36,
> from xtables.c:37:
> [...]/sysroot/usr/include/asm/sigcontext.h:81:9: error: unknown type name '__u128'; did you mean '__u32'?
>
> Linux 7.3 changed arm64's asm/sigcontext.h to use the __u128 type from
> linux/types.h. iptables bundles an old copy of linux/types.h, lacking
> __u128, which shadows the one from the kernel headers as the build uses
> -I../include.
>
> Add a patch, sent upstream, dropping the bundled copy, as was already
> done in ebtables. iptables only needs __aligned_u64 and __sum16 from it,
> which the kernel headers provide well before 3.12, the minimum required
> by the iptables package.
>
> This issue has been present since commit b216661a73f7
> ("{toolchain, linux-headers}: add support for 7.3 headers"), which made
> 7.3 the latest kernel headers version. It only affects master, no
> release or maintenance branch has 7.3 headers.
>
> Fixes:
> https://autobuild.buildroot.org/results/3d3d40449ed637fc7cfe49872f35ed6667510058
>
> Fixes: b216661a73f7b8e21290a1bc9033e7f9b5fb230e ("{toolchain, linux-headers}: add support for 7.3 headers")
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-25 20:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 14:21 [Buildroot] [PATCH] package/iptables: fix arm64 build with kernel headers >= 7.3 Yegor Yefremov
2026-10-25 20:53 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox