Re: [PATCH] bpftool: Use sysfs vmlinux when dumping BTF by ID

From: Andrii Nakryiko
Date: Fri Apr 29 2022 - 00:59:14 EST


On Thu, Apr 28, 2022 at 4:17 AM Larysa Zaremba <larysa.zaremba@xxxxxxxxx> wrote:
>
> Currently, dumping almost all BTFs specified by id requires

It should and will work only for kernel modules. It won't and
shouldn't work for BTFs coming from BPF programs. We shouldn't blindly
guess and substitute vmlinux BTF as base BTF, let's fetch
bpf_btf_info, check that BTF is from kernel and is not vmlinux, and
only in such case substitute vmlinux BTF as base BTF.

> using the -B option to pass the base BTF. For most cases
> the vmlinux BTF sysfs path should work.
>
> This patch simplifies dumping by ID usage by attempting to
> use vmlinux BTF from sysfs, if the first try of loading BTF by ID
> fails with certain conditions.
>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>
> Reviewed-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>
> ---
> tools/bpf/bpftool/btf.c | 35 ++++++++++++++++++++++++++---------
> 1 file changed, 26 insertions(+), 9 deletions(-)
>

[...]