From: Sasha Levin Date: Mon, 25 Mar 2024 11:38:11 +0000 (-0400) Subject: Drop libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch from 5.15 X-Git-Tag: v6.8.2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4540c564c8ca70b64630eaddc5696f116119a91a;p=thirdparty%2Fkernel%2Fstable-queue.git Drop libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch from 5.15 --- diff --git a/queue-5.15/libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch b/queue-5.15/libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch deleted file mode 100644 index 69a8c568136..00000000000 --- a/queue-5.15/libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 7af28eea8e6e3091d5d4cf4ae98ef4d0a57f5b8f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 17 Jan 2024 16:06:18 +0300 -Subject: libbpf: Apply map_set_def_max_entries() for inner_maps on creation - -From: Andrey Grafin - -[ Upstream commit f04deb90e516e8e48bf8693397529bc942a9e80b ] - -This patch allows to auto create BPF_MAP_TYPE_ARRAY_OF_MAPS and -BPF_MAP_TYPE_HASH_OF_MAPS with values of BPF_MAP_TYPE_PERF_EVENT_ARRAY -by bpf_object__load(). - -Previous behaviour created a zero filled btf_map_def for inner maps and -tried to use it for a map creation but the linux kernel forbids to create -a BPF_MAP_TYPE_PERF_EVENT_ARRAY map with max_entries=0. - -Fixes: 646f02ffdd49 ("libbpf: Add BTF-defined map-in-map support") -Signed-off-by: Andrey Grafin -Signed-off-by: Andrii Nakryiko -Acked-by: Yonghong Song -Acked-by: Hou Tao -Link: https://lore.kernel.org/bpf/20240117130619.9403-1-conquistador@yandex-team.ru -Signed-off-by: Alexei Starovoitov -Signed-off-by: Sasha Levin ---- - tools/lib/bpf/libbpf.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c -index 0c201f07d8aef..e45f831a12c2b 100644 ---- a/tools/lib/bpf/libbpf.c -+++ b/tools/lib/bpf/libbpf.c -@@ -71,6 +71,7 @@ - - static struct bpf_map *bpf_object__add_map(struct bpf_object *obj); - static bool prog_is_subprog(const struct bpf_object *obj, const struct bpf_program *prog); -+static int map_set_def_max_entries(struct bpf_map *map); - - static int __base_pr(enum libbpf_print_level level, const char *format, - va_list args) -@@ -4617,6 +4618,9 @@ static int bpf_object__create_map(struct bpf_object *obj, struct bpf_map *map, b - - if (bpf_map_type__is_map_in_map(def->type)) { - if (map->inner_map) { -+ err = map_set_def_max_entries(map->inner_map); -+ if (err) -+ return err; - err = bpf_object__create_map(obj, map->inner_map, true); - if (err) { - pr_warn("map '%s': failed to create inner map: %d\n", --- -2.43.0 - diff --git a/queue-5.15/selftest-bpf-add-map_in_maps-with-bpf_map_type_perf_.patch b/queue-5.15/selftest-bpf-add-map_in_maps-with-bpf_map_type_perf_.patch deleted file mode 100644 index 30ef31e2d5d..00000000000 --- a/queue-5.15/selftest-bpf-add-map_in_maps-with-bpf_map_type_perf_.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 9c0e0735a5921867c3ed3857d4304d501ce50722 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 17 Jan 2024 16:06:19 +0300 -Subject: selftest/bpf: Add map_in_maps with BPF_MAP_TYPE_PERF_EVENT_ARRAY - values - -From: Andrey Grafin - -[ Upstream commit 40628f9fff73adecac77a9aa390f8016724cad99 ] - -Check that bpf_object__load() successfully creates map_in_maps -with BPF_MAP_TYPE_PERF_EVENT_ARRAY values. -These changes cover fix in the previous patch -"libbpf: Apply map_set_def_max_entries() for inner_maps on creation". - -A command line output is: -- w/o fix -$ sudo ./test_maps -libbpf: map 'mim_array_pe': failed to create inner map: -22 -libbpf: map 'mim_array_pe': failed to create: Invalid argument(-22) -libbpf: failed to load object './test_map_in_map.bpf.o' -Failed to load test prog - -- with fix -$ sudo ./test_maps -... -test_maps: OK, 0 SKIPPED - -Fixes: 646f02ffdd49 ("libbpf: Add BTF-defined map-in-map support") -Signed-off-by: Andrey Grafin -Signed-off-by: Andrii Nakryiko -Acked-by: Yonghong Song -Acked-by: Hou Tao -Link: https://lore.kernel.org/bpf/20240117130619.9403-2-conquistador@yandex-team.ru -Signed-off-by: Alexei Starovoitov -Signed-off-by: Sasha Levin ---- - .../selftests/bpf/progs/test_map_in_map.c | 26 +++++++++++++++++++ - tools/testing/selftests/bpf/test_maps.c | 6 ++++- - 2 files changed, 31 insertions(+), 1 deletion(-) - -diff --git a/tools/testing/selftests/bpf/progs/test_map_in_map.c b/tools/testing/selftests/bpf/progs/test_map_in_map.c -index 5f0e0bfc151e5..8a52bc56568d6 100644 ---- a/tools/testing/selftests/bpf/progs/test_map_in_map.c -+++ b/tools/testing/selftests/bpf/progs/test_map_in_map.c -@@ -23,6 +23,32 @@ struct { - __uint(value_size, sizeof(__u32)); - } mim_hash SEC(".maps"); - -+/* The following three maps are used to test -+ * perf_event_array map can be an inner -+ * map of hash/array_of_maps. -+ */ -+struct perf_event_array { -+ __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); -+ __type(key, __u32); -+ __type(value, __u32); -+} inner_map0 SEC(".maps"); -+ -+struct { -+ __uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS); -+ __uint(max_entries, 1); -+ __type(key, __u32); -+ __array(values, struct perf_event_array); -+} mim_array_pe SEC(".maps") = { -+ .values = {&inner_map0}}; -+ -+struct { -+ __uint(type, BPF_MAP_TYPE_HASH_OF_MAPS); -+ __uint(max_entries, 1); -+ __type(key, __u32); -+ __array(values, struct perf_event_array); -+} mim_hash_pe SEC(".maps") = { -+ .values = {&inner_map0}}; -+ - SEC("xdp") - int xdp_mimtest0(struct xdp_md *ctx) - { -diff --git a/tools/testing/selftests/bpf/test_maps.c b/tools/testing/selftests/bpf/test_maps.c -index c7a36a9378f8c..a72cc78706eaf 100644 ---- a/tools/testing/selftests/bpf/test_maps.c -+++ b/tools/testing/selftests/bpf/test_maps.c -@@ -1196,7 +1196,11 @@ static void test_map_in_map(void) - goto out_map_in_map; - } - -- bpf_object__load(obj); -+ err = bpf_object__load(obj); -+ if (err) { -+ printf("Failed to load test prog\n"); -+ goto out_map_in_map; -+ } - - map = bpf_object__find_map_by_name(obj, "mim_array"); - if (!map) { --- -2.43.0 - diff --git a/queue-5.15/series b/queue-5.15/series index a6a3e6e2ebe..39e0356dbf2 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -63,8 +63,6 @@ cpufreq-mediatek-hw-wait-for-cpu-supplies-before-pro.patch sock_diag-annotate-data-races-around-sock_diag_handl.patch inet_diag-annotate-data-races-around-inet_diag_table.patch bpftool-silence-build-warning-about-calloc.patch -libbpf-apply-map_set_def_max_entries-for-inner_maps-.patch -selftest-bpf-add-map_in_maps-with-bpf_map_type_perf_.patch af_unix-annotate-data-race-of-gc_in_progress-in-wait.patch cpufreq-mediatek-hw-don-t-error-out-if-supply-is-not.patch arm64-dts-imx8mm-kontron-disable-pullups-for-i2c-sig.patch