bianbu-linux-6.6/tools/bpf/bpftool
Raman Shukhau b662000aff bpftool: Adding support for BTF program names
`bpftool prog list` and other bpftool subcommands that show
BPF program names currently get them from bpf_prog_info.name.
That field is limited to 16 (BPF_OBJ_NAME_LEN) chars which leads
to truncated names since many progs have much longer names.

The idea of this change is to improve all bpftool commands that
output prog name so that bpftool uses info from BTF to print
program names if available.

It tries bpf_prog_info.name first and fall back to btf only if
the name is suspected to be truncated (has 15 chars length).

Right now `bpftool p show id <id>` returns capped prog name

<id>: kprobe  name example_cap_cap  tag 712e...
...

With this change it would return

<id>: kprobe  name example_cap_capable  tag 712e...
...

Note, other commands that print prog names (e.g. "bpftool
cgroup tree") are also addressed in this change.

Signed-off-by: Raman Shukhau <ramasha@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220119100255.1068997-1-ramasha@fb.com
2022-01-19 10:04:41 -08:00
..
bash-completion bpftool: Update the lists of names for maps and prog-attach types 2021-11-14 18:35:02 -08:00
Documentation bpftool: Update doc (use susbtitutions) and test_bpftool_synctypes.py 2021-11-16 13:56:22 +01:00
skeleton tools, bpftool: Remove two unused variables. 2020-10-29 15:23:18 +01:00
.gitignore bpftool: Fix SPDX tag for Makefiles and .gitignore 2021-11-10 09:00:52 -08:00
btf.c bpftool: Fix error check when calling hashmap__new() 2022-01-12 17:01:36 -08:00
btf_dumper.c bpftool: Use bpf_obj_get_info_by_fd directly 2021-11-03 11:25:32 -07:00
cfg.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00
cgroup.c bpftool: Adding support for BTF program names 2022-01-19 10:04:41 -08:00
common.c bpftool: Adding support for BTF program names 2022-01-19 10:04:41 -08:00
feature.c bpftool: Probe for instruction set extensions 2022-01-05 13:31:40 +01:00
gen.c bpftool: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
iter.c bpftool: Use libbpf_get_error() to check error 2021-11-14 18:38:13 -08:00
jit_disasm.c bpftool: Properly close va_list 'ap' by va_end() on error 2021-07-06 09:19:23 +02:00
json_writer.c bpftool: Support dumping metadata 2020-09-15 18:28:27 -07:00
json_writer.h bpftool: Support dumping metadata 2020-09-15 18:28:27 -07:00
link.c bpftool: Fix error check when calling hashmap__new() 2022-01-12 17:01:36 -08:00
main.c bpftool: Enable line buffering for stdout 2021-12-21 15:44:51 -08:00
main.h bpftool: Adding support for BTF program names 2022-01-19 10:04:41 -08:00
Makefile bpftool: Enable cross-building with clang 2021-12-16 12:15:05 -08:00
map.c bpftool: Fix error check when calling hashmap__new() 2022-01-12 17:01:36 -08:00
map_perf_ring.c bpftool: Update btf_dump__new() and perf_buffer__new_raw() calls 2021-11-11 16:54:06 -08:00
net.c tools: bpftool: Update and synchronise option list in doc and help msg 2021-07-30 15:40:27 -07:00
netlink_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
netlink_dumper.h tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
perf.c tools: bpftool: Update and synchronise option list in doc and help msg 2021-07-30 15:40:27 -07:00
pids.c bpftool: Fix error check when calling hashmap__new() 2022-01-12 17:01:36 -08:00
prog.c bpftool: Adding support for BTF program names 2022-01-19 10:04:41 -08:00
struct_ops.c bpftool: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
tracelog.c tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs 2018-12-18 14:47:17 +01:00
xlated_dumper.c bpftool: Use syscall/loader program in "prog load" and "gen skeleton" command. 2021-05-19 00:41:31 +02:00
xlated_dumper.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00