diff options
author | Milan Landaverde <milan@mdaverde.com> | 2022-05-04 12:13:31 -0400 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2022-05-09 17:16:05 -0700 |
commit | 6d9f63b9df5ed7ffe10ac70025f408d28b3dd260 (patch) | |
tree | e29ffb5420c2aa031e7f199aab2c103d8ca8fc36 /tools | |
parent | 7b3a06382442c4d83c9d35253638cb3f561da9b9 (diff) | |
download | linux-stable-6d9f63b9df5ed7ffe10ac70025f408d28b3dd260.tar.gz linux-stable-6d9f63b9df5ed7ffe10ac70025f408d28b3dd260.tar.bz2 linux-stable-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
Diffstat (limited to 'tools')
-rw-r--r-- | tools/bpf/bpftool/feature.c | 4 |
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 |