diff options
| author | Khem Raj <raj.khem@gmail.com> | 2024-07-14 09:59:04 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-07-18 17:21:39 +0100 |
| commit | 9bae37cb63e7cfee59422cd04078cb2c820ef105 (patch) | |
| tree | 7eff95c8262752da904d40a0b8fcf8ba5f9e55f3 /meta | |
| parent | e18d60deb0496f7c91f2de900d6c024b45b7910a (diff) | |
| download | poky-9bae37cb63e7cfee59422cd04078cb2c820ef105.tar.gz | |
busybox: Fix tc applet build when using kernel 6.8+
We now have 6.9 kernel headers in master which means
busybox builds with CONFIG_TC will fail to build due
to CBQ being dropped in kernel 6.8+
Apply a fix which is reported upstream
(From OE-Core rev: 3afbeb1ea418a69a452e82cbce00c36452b75f1e)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch | 61 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox_1.36.1.bb | 1 |
2 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch b/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch new file mode 100644 index 0000000000..80cbc73fc4 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/busybox-1.36.1-no-cbq.patch | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | Remove CBQ functionality from tc | ||
| 2 | |||
| 3 | 6.8+ kernel has dropped CBQ support [1], Now that OE uses 6.9 for | ||
| 4 | kernel-headers means we are hitting the undefined symbol | ||
| 5 | TCA_CBQ_MAX [2] | ||
| 6 | |||
| 7 | [1] https://github.com/torvalds/linux/commit/33241dca486264193ed68167c8eeae1fb197f3df | ||
| 8 | [2] https://bugs.busybox.net/show_bug.cgi?id=15934 | ||
| 9 | |||
| 10 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15931] | ||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | |||
| 13 | diff -up busybox-1.36.1/networking/tc.c.no-cbq busybox-1.36.1/networking/tc.c | ||
| 14 | --- busybox-1.36.1/networking/tc.c.no-cbq 2024-01-29 10:24:09.135082923 -0500 | ||
| 15 | +++ busybox-1.36.1/networking/tc.c 2024-01-29 10:28:12.009502552 -0500 | ||
| 16 | @@ -31,7 +31,7 @@ | ||
| 17 | //usage: "qdisc [handle QHANDLE] [root|"IF_FEATURE_TC_INGRESS("ingress|")"parent CLASSID]\n" | ||
| 18 | /* //usage: "[estimator INTERVAL TIME_CONSTANT]\n" */ | ||
| 19 | //usage: " [[QDISC_KIND] [help|OPTIONS]]\n" | ||
| 20 | -//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|cbq|red|etc.\n" | ||
| 21 | +//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|red|etc.\n" | ||
| 22 | //usage: "qdisc show [dev STRING]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n" | ||
| 23 | //usage: "class [classid CLASSID] [root|parent CLASSID]\n" | ||
| 24 | //usage: " [[QDISC_KIND] [help|OPTIONS] ]\n" | ||
| 25 | @@ -230,7 +230,7 @@ static int cbq_parse_opt(int argc, char | ||
| 26 | { | ||
| 27 | return 0; | ||
| 28 | } | ||
| 29 | -#endif | ||
| 30 | + | ||
| 31 | static int cbq_print_opt(struct rtattr *opt) | ||
| 32 | { | ||
| 33 | struct rtattr *tb[TCA_CBQ_MAX+1]; | ||
| 34 | @@ -322,6 +322,7 @@ static int cbq_print_opt(struct rtattr * | ||
| 35 | done: | ||
| 36 | return 0; | ||
| 37 | } | ||
| 38 | +#endif | ||
| 39 | |||
| 40 | static FAST_FUNC int print_qdisc( | ||
| 41 | const struct sockaddr_nl *who UNUSED_PARAM, | ||
| 42 | @@ -373,7 +374,8 @@ static FAST_FUNC int print_qdisc( | ||
| 43 | if (qqq == 0) { /* pfifo_fast aka prio */ | ||
| 44 | prio_print_opt(tb[TCA_OPTIONS]); | ||
| 45 | } else if (qqq == 1) { /* class based queuing */ | ||
| 46 | - cbq_print_opt(tb[TCA_OPTIONS]); | ||
| 47 | + /* cbq_print_opt(tb[TCA_OPTIONS]); */ | ||
| 48 | + printf("cbq not supported"); | ||
| 49 | } else { | ||
| 50 | /* don't know how to print options for this qdisc */ | ||
| 51 | printf("(options for %s)", name); | ||
| 52 | @@ -444,7 +446,8 @@ static FAST_FUNC int print_class( | ||
| 53 | /* nothing. */ /*prio_print_opt(tb[TCA_OPTIONS]);*/ | ||
| 54 | } else if (qqq == 1) { /* class based queuing */ | ||
| 55 | /* cbq_print_copt() is identical to cbq_print_opt(). */ | ||
| 56 | - cbq_print_opt(tb[TCA_OPTIONS]); | ||
| 57 | + /* cbq_print_opt(tb[TCA_OPTIONS]); */ | ||
| 58 | + printf("cbq not supported"); | ||
| 59 | } else { | ||
| 60 | /* don't know how to print options for this class */ | ||
| 61 | printf("(options for %s)", name); | ||
diff --git a/meta/recipes-core/busybox/busybox_1.36.1.bb b/meta/recipes-core/busybox/busybox_1.36.1.bb index 7ce57bb0d0..67bc5c0cad 100644 --- a/meta/recipes-core/busybox/busybox_1.36.1.bb +++ b/meta/recipes-core/busybox/busybox_1.36.1.bb | |||
| @@ -52,6 +52,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
| 52 | file://CVE-2021-42380.patch \ | 52 | file://CVE-2021-42380.patch \ |
| 53 | file://0001-awk-fix-segfault-when-compiled-by-clang.patch \ | 53 | file://0001-awk-fix-segfault-when-compiled-by-clang.patch \ |
| 54 | file://CVE-2023-42363.patch \ | 54 | file://CVE-2023-42363.patch \ |
| 55 | file://busybox-1.36.1-no-cbq.patch \ | ||
| 55 | " | 56 | " |
| 56 | SRC_URI:append:libc-musl = " file://musl.cfg " | 57 | SRC_URI:append:libc-musl = " file://musl.cfg " |
| 57 | # TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html | 58 | # TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html |
