]> git.baikalelectronics.ru Git - kernel.git/commit
bpftool: Adding support for BTF program names
authorRaman Shukhau <ramasha@fb.com>
Wed, 19 Jan 2022 10:02:55 +0000 (02:02 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 19 Jan 2022 18:04:41 +0000 (10:04 -0800)
commit86f5d0fcc93090b97821f188a2166702468ee581
tree9abb535a224c7dc4899b8a0c734772f4549a8764
parent88461cffb2c8ba3da5ca76f8e61e36e9869124c6
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
tools/bpf/bpftool/cgroup.c
tools/bpf/bpftool/common.c
tools/bpf/bpftool/main.h
tools/bpf/bpftool/prog.c