[PATCH bpf-next 0/2] bpftool: fix feature output when helper probes fail

From: Milan Landaverde
Date: Wed May 04 2022 - 12:14:44 EST


Currently in bpftool's feature probe, we incorrectly tell the user that
all of the helper functions are supported for program types where helper
probing fails or is explicitly unsupported[1]:

$ bpftool feature probe
...
eBPF helpers supported for program type tracing:
- bpf_map_lookup_elem
- bpf_map_update_elem
- bpf_map_delete_elem
...
- bpf_redirect_neigh
- bpf_check_mtu
- bpf_sys_bpf
- bpf_sys_close

This patch adjusts bpftool to relay to the user when helper support
can't be determined:

$ bpftool feature probe
...
eBPF helpers supported for program type lirc_mode2:
Program type not supported
eBPF helpers supported for program type tracing:
Could not determine which helpers are available
eBPF helpers supported for program type struct_opts:
Could not determine which helpers are available
eBPF helpers supported for program type ext:
Could not determine which helpers are available

Rather than imply that no helpers are available for the program type, we
let the user know that helper function probing failed entirely.

[1] https://lore.kernel.org/bpf/20211217171202.3352835-2-andrii@xxxxxxxxxx/

Milan Landaverde (2):
bpftool: adjust for error codes from libbpf probes
bpftool: output message if no helpers found in feature probing

tools/bpf/bpftool/feature.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)

--
2.32.0