diff options
author | 2024-04-07 00:18:59 +0200 | |
---|---|---|
committer | 2024-04-26 12:13:22 -0500 | |
commit | 68b495f5e75cc899033bc765a51ad1c8fd8b96e0 (patch) | |
tree | dbbe6a0e044dbdb7d171559b2190238164ea4fb4 | |
parent | release 4.3.11 (diff) | |
download | genkernel-68b495f5e75cc899033bc765a51ad1c8fd8b96e0.tar.gz genkernel-68b495f5e75cc899033bc765a51ad1c8fd8b96e0.tar.bz2 genkernel-68b495f5e75cc899033bc765a51ad1c8fd8b96e0.zip |
initramfs: fix busybox 1.36.1 build witk kernel 6.8
Patch taken from
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8ad860a1ed9aa92ada.
Bug: https://bugs.gentoo.org/928573
Signed-off-by: Louis Sautier <sautier.louis@gmail.com>
Closes: https://github.com/gentoo/genkernel/pull/59
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
-rw-r--r-- | patches/busybox/1.36.1/busybox-1.36.1-kernel-6.8.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/patches/busybox/1.36.1/busybox-1.36.1-kernel-6.8.patch b/patches/busybox/1.36.1/busybox-1.36.1-kernel-6.8.patch new file mode 100644 index 00000000..7e7b873d --- /dev/null +++ b/patches/busybox/1.36.1/busybox-1.36.1-kernel-6.8.patch @@ -0,0 +1,53 @@ +http://lists.busybox.net/pipermail/busybox/2024-March/090678.html +https://bugs.gentoo.org/928573 + +Linux v6.8-rc1 removed the definitions related to CBQ making tc fail to +build. Add some #ifdefs to handle this missing support. +--- a/networking/tc.c ++++ b/networking/tc.c +@@ -231,6 +231,13 @@ static int cbq_parse_opt(int argc, char **argv, struct nlmsghdr *n) + return 0; + } + #endif ++ ++#ifndef TCA_CBQ_MAX ++/* ++ * Linux v6.8-rc1 removed the uapi definitions for CBQ. ++ * See https://git.kernel.org/linus/33241dca48626 ++ */ ++#else + static int cbq_print_opt(struct rtattr *opt) + { + struct rtattr *tb[TCA_CBQ_MAX+1]; +@@ -322,6 +329,7 @@ static int cbq_print_opt(struct rtattr *opt) + done: + return 0; + } ++#endif + + static FAST_FUNC int print_qdisc( + const struct sockaddr_nl *who UNUSED_PARAM, +@@ -372,8 +380,10 @@ static FAST_FUNC int print_qdisc( + int qqq = index_in_strings(_q_, name); + if (qqq == 0) { /* pfifo_fast aka prio */ + prio_print_opt(tb[TCA_OPTIONS]); ++#ifdef TCA_CBQ_MAX + } else if (qqq == 1) { /* class based queuing */ + cbq_print_opt(tb[TCA_OPTIONS]); ++#endif + } else { + /* don't know how to print options for this qdisc */ + printf("(options for %s)", name); +@@ -442,9 +452,11 @@ static FAST_FUNC int print_class( + int qqq = index_in_strings(_q_, name); + if (qqq == 0) { /* pfifo_fast aka prio */ + /* nothing. */ /*prio_print_opt(tb[TCA_OPTIONS]);*/ ++#ifdef TCA_CBQ_MAX + } else if (qqq == 1) { /* class based queuing */ + /* cbq_print_copt() is identical to cbq_print_opt(). */ + cbq_print_opt(tb[TCA_OPTIONS]); ++#endif + } else { + /* don't know how to print options for this class */ + printf("(options for %s)", name); + |