All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/busybox: patch to fix tc build on 6.8+ kernels
@ 2024-09-23 17:06 Bernd Kuhls
  2024-09-23 19:13 ` Yann E. MORIN
  2024-10-12 14:53 ` Peter Korsgaard
  0 siblings, 2 replies; 5+ messages in thread
From: Bernd Kuhls @ 2024-09-23 17:06 UTC (permalink / raw)
  To: buildroot; +Cc: Un1q32

Fixes a build error introduced by bumping the linux kernel headers to
6.8 with buildroot commit 807a44925697b9567d5bd9872a334a073b3dcf55.

No autobuilder failures were recorded with this problem.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Follow-up of
https://patchwork.ozlabs.org/project/buildroot/patch/20240823090939.79455-1-joey.t.reinhart@gmail.com/

 ...emoved-the-definitions-related-to-CB.patch | 70 +++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 package/busybox/0010-Linux-v6.8-rc1-removed-the-definitions-related-to-CB.patch

diff --git a/package/busybox/0010-Linux-v6.8-rc1-removed-the-definitions-related-to-CB.patch b/package/busybox/0010-Linux-v6.8-rc1-removed-the-definitions-related-to-CB.patch
new file mode 100644
index 0000000000..d997f00e82
--- /dev/null
+++ b/package/busybox/0010-Linux-v6.8-rc1-removed-the-definitions-related-to-CB.patch
@@ -0,0 +1,70 @@
+From c4f93565acf3718111cdbaea15e1a8aacf2f44cf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Mon, 23 Sep 2024 18:56:00 +0200
+Subject: [PATCH] tc: Fix compilation with Linux v6.8-rc1
+
+Linux v6.8-rc1 removed the definitions related to CBQ:
+https://github.com/torvalds/linux/commit/33241dca486264193ed68167c8eeae1fb197f3df
+making tc fail to build.
+Add some #ifdefs to handle this missing support.
+
+Upstream: http://lists.busybox.net/pipermail/busybox/2024-March/090678.html
+Bug report: https://bugs.busybox.net/show_bug.cgi?id=15931
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ networking/tc.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/networking/tc.c b/networking/tc.c
+index 3a79fd2d9..d08fd1359 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);
+-- 
+2.39.5
+
-- 
2.39.5

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/busybox: patch to fix tc build on 6.8+ kernels
@ 2024-08-23  9:09 Un1q32
  2024-08-23 15:48 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 5+ messages in thread
From: Un1q32 @ 2024-08-23  9:09 UTC (permalink / raw)
  To: buildroot; +Cc: Un1q32

Signed-off-by: Un1q32 <joey.t.reinhart@gmail.com>
---
 .../0010-tc-build-fails-on-kernel-6.8.patch   | 55 +++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 package/busybox/0010-tc-build-fails-on-kernel-6.8.patch

diff --git a/package/busybox/0010-tc-build-fails-on-kernel-6.8.patch b/package/busybox/0010-tc-build-fails-on-kernel-6.8.patch
new file mode 100644
index 0000000000..95f2585c21
--- /dev/null
+++ b/package/busybox/0010-tc-build-fails-on-kernel-6.8.patch
@@ -0,0 +1,55 @@
+http://lists.busybox.net/pipermail/busybox/2024-March/090678.html
+https://bugs.gentoo.org/926872
+
+Linux v6.8-rc1 removed the definitions related to CBQ making tc fail to
+build. Add some #ifdefs to handle this missing support.
+
+Signed-off-by: Un1q32 <joey.t.reinhart@gmail.com>
+
+--- a/networking/tc.c
++++ b/networking/tc.c
+@@ -231,6 +231,13 @@
+ 	return 0;
+ }
+ #endif
++
++#ifndef TCA_CBQ_MAX
++/*
++ * Linux v6.8-rc1~131^2~60^2^2 removed the uapi definitions for CBQ.
++ * See <A HREF="https://git.kernel.org/linus/33241dca48626">https://git.kernel.org/linus/33241dca48626</A>
++ */
++#else
+ static int cbq_print_opt(struct rtattr *opt)
+ {
+ 	struct rtattr *tb[TCA_CBQ_MAX+1];
+@@ -322,6 +329,7 @@
+  done:
+ 	return 0;
+ }
++#endif
+ 
+ static FAST_FUNC int print_qdisc(
+ 		const struct sockaddr_nl *who UNUSED_PARAM,
+@@ -372,8 +380,10 @@
+ 		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 @@
+ 		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);
-- 
2.46.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-10-12 14:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-23 17:06 [Buildroot] [PATCH 1/1] package/busybox: patch to fix tc build on 6.8+ kernels Bernd Kuhls
2024-09-23 19:13 ` Yann E. MORIN
2024-10-12 14:53 ` Peter Korsgaard
  -- strict thread matches above, loose matches on Subject: below --
2024-08-23  9:09 Un1q32
2024-08-23 15:48 ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.