summaryrefslogtreecommitdiff
path: root/system/easy-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'system/easy-kernel')
-rw-r--r--system/easy-kernel/APKBUILD4
-rw-r--r--system/easy-kernel/uapi-iphdr.patch47
2 files changed, 50 insertions, 1 deletions
diff --git a/system/easy-kernel/APKBUILD b/system/easy-kernel/APKBUILD
index 640caa7cb..29805f75b 100644
--- a/system/easy-kernel/APKBUILD
+++ b/system/easy-kernel/APKBUILD
@@ -31,6 +31,7 @@ source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgmin
config-sparc64
config-m68k
kernel.h
+ uapi-iphdr.patch
"
builddir="$srcdir/linux-${_pkgminver}"
@@ -136,4 +137,5 @@ ec86baafbfc22fdb08872276284eac7dce695c192a02c3b7d35a5d67861b98be18475ccfbb366ff9
baefddb2e1de0105f9333702121d3dd2c1f1d54ce22ee7f7d3a54d4fa1028e9b5dadeecb6cca8a717d30c7bc083daa652b0281fb1b39a85f191954ac5a95fecd config-aarch64
430d968f60cfd33d3ba1e7c2fec8b1d1eedee8086c7cebebf162223b058b0e1d873033e46e05f63d8a50c61397eaf1036b1e4b3a60581f08c6482810aa25df7f config-sparc64
1b99310e2de81267fdb1668ad6f52f26d8798d94c0a952cfe9992ff40e5d7331ddfb324b8f99bfa300240aa568bbd4525150e0c774c797d85756714163fd0fa5 config-m68k
-61dcd633d72876566b7738dd08856b26850c935b4a81ab2364711335fe01c397083160f530b3382bbc239c6a8135be6a032e93039083ec2cefdae2902429a2e0 kernel.h"
+61dcd633d72876566b7738dd08856b26850c935b4a81ab2364711335fe01c397083160f530b3382bbc239c6a8135be6a032e93039083ec2cefdae2902429a2e0 kernel.h
+6f309a18c65c991240265afd200cc79a706f5d9e5d072838a9a641ab3676a5e4c32033f9767fc723ff4c45ee462169a0f77bd7dfe63b547d521dadd073f827a7 uapi-iphdr.patch"
diff --git a/system/easy-kernel/uapi-iphdr.patch b/system/easy-kernel/uapi-iphdr.patch
new file mode 100644
index 000000000..8436b035b
--- /dev/null
+++ b/system/easy-kernel/uapi-iphdr.patch
@@ -0,0 +1,47 @@
+From 62689a5371ff8bbfc8c04625794c62d957b0863f Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+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 <AWilcox@Wilcox-Tech.com>
+---
+ 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 <netinet/ip.h> */
++
++#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
+