Signed-off-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de>
---
 ...-Fix-compilation-with-Linux-v6.8-rc1.patch | 61 +++++++++++++++++++
 patches/busybox-1.36.1/series                 |  3 +-
 2 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100644 
patches/busybox-1.36.1/0203-tc-Fix-compilation-with-Linux-v6.8-rc1.patch

diff --git 
a/patches/busybox-1.36.1/0203-tc-Fix-compilation-with-Linux-v6.8-rc1.patch 
b/patches/busybox-1.36.1/0203-tc-Fix-compilation-with-Linux-v6.8-rc1.patch
new file mode 100644
index 000000000000..23715aa1a588
--- /dev/null
+++ b/patches/busybox-1.36.1/0203-tc-Fix-compilation-with-Linux-v6.8-rc1.patch
@@ -0,0 +1,61 @@
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koe...@pengutronix.de>
+Date: Sat, 23 Mar 2024 13:28:56 +0100
+Subject: [PATCH] tc: Fix compilation with Linux v6.8-rc1
+
+Linux v6.8-rc1 removed the definitions related to CBQ making tc fail to
+build. Add some #ifdefs to handle this missing support.
+
+Forwarded: http://lists.busybox.net/pipermail/busybox/2024-March/090678.html
+---
+ networking/tc.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/networking/tc.c b/networking/tc.c
+index 43187f7ee26c..1315b953e39f 100644
+--- 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~131^2~60^2^2 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);
diff --git a/patches/busybox-1.36.1/series b/patches/busybox-1.36.1/series
index ee536088790b..87fee50916c0 100644
--- a/patches/busybox-1.36.1/series
+++ b/patches/busybox-1.36.1/series
@@ -6,4 +6,5 @@
 0200-reactivate-check-for-tty.patch
 0201-build-system-only-pass-real-libs-to-SELINUX_LIBS.patch
 0202-scripts-trylink-honour-SKIP_STRIP-and-don-t-strip-if.patch
-# 9c0cc4baa8090165b429198c9a10e02c  - git-ptx-patches magic
+0203-tc-Fix-compilation-with-Linux-v6.8-rc1.patch
+# e781b8c6838e27fd021f9c1a9f87654d  - git-ptx-patches magic

base-commit: 30ecf336507b8eb1111c4742161ac00b4eb7edcc
-- 
2.39.2


Reply via email to