aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Landaverde <milan@mdaverde.com>2022-05-04 12:13:31 -0400
committerAndrii Nakryiko <andrii@kernel.org>2022-05-09 17:16:05 -0700
commit6d9f63b9df5ed7ffe10ac70025f408d28b3dd260 (patch)
treee29ffb5420c2aa031e7f199aab2c103d8ca8fc36
parentselftests/bpf: Test libbpf's ringbuf size fix up logic (diff)
downloadlinux-dev-6d9f63b9df5ed7ffe10ac70025f408d28b3dd260.tar.xz
linux-dev-6d9f63b9df5ed7ffe10ac70025f408d28b3dd260.zip
bpftool: Adjust for error codes from libbpf probes
Originally [1], libbpf's (now deprecated) probe functions returned a bool to acknowledge support but the new APIs return an int with a possible negative error code to reflect probe failure. This change decides for bpftool to declare maps and helpers are not available on probe failures. [1]: https://lore.kernel.org/bpf/20220202225916.3313522-3-andrii@kernel.org/ Signed-off-by: Milan Landaverde <milan@mdaverde.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20220504161356.3497972-2-milan@mdaverde.com
-rw-r--r--tools/bpf/bpftool/feature.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/bpf/bpftool/feature.c b/tools/bpf/bpftool/feature.c
index be130e35462f..c532c8855c24 100644
--- a/tools/bpf/bpftool/feature.c
+++ b/tools/bpf/bpftool/feature.c
@@ -638,7 +638,7 @@ probe_map_type(enum bpf_map_type map_type, const char *define_prefix,
res = probe_map_type_ifindex(map_type, ifindex);
} else {
- res = libbpf_probe_bpf_map_type(map_type, NULL);
+ res = libbpf_probe_bpf_map_type(map_type, NULL) > 0;
}
/* Probe result depends on the success of map creation, no additional
@@ -701,7 +701,7 @@ probe_helper_for_progtype(enum bpf_prog_type prog_type, bool supported_type,
if (ifindex)
res = probe_helper_ifindex(id, prog_type, ifindex);
else
- res = libbpf_probe_bpf_helper(prog_type, id, NULL);
+ res = libbpf_probe_bpf_helper(prog_type, id, NULL) > 0;
#ifdef USE_LIBCAP
/* Probe may succeed even if program load fails, for
* unprivileged users check that we did not fail because of