aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Sautier <sautier.louis@gmail.com>2024-04-07 00:18:59 +0200
committerBen Kohler <bkohler@gentoo.org>2024-04-26 12:13:22 -0500
commit68b495f5e75cc899033bc765a51ad1c8fd8b96e0 (patch)
treedbbe6a0e044dbdb7d171559b2190238164ea4fb4
parentrelease 4.3.11 (diff)
downloadgenkernel-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.patch53
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(&quot;(options for %s)&quot;, 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(&quot;(options for %s)&quot;, name);
+