Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found

From: Olson, Matthew
Date: Tue Nov 26 2024 - 14:44:55 EST


On Tue, Nov 26, 2024 at 11:21:21AM -0800, Andrii Nakryiko wrote:
> On Thu, Nov 21, 2024 at 5:07 PM Olson, Matthew <matthew.olson@xxxxxxxxx> wrote:
> >
> > From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001
> > From: Ben Olson <matthew.olson@xxxxxxxxx>
> > Date: Thu, 21 Nov 2024 11:26:35 -0600
> > Subject: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF
> > cannot be found
> >
> > When running `bpftool` on a kernel module installed in `/lib/modules...`,
> > this error is encountered if the user does not specify `--base-btf` to
> > point to a valid base BTF (e.g. usually in `/sys/kernel/btf/vmlinux`).
> > However, looking at the debug output to determine the cause of the error
> > simply says `Invalid BTF string section`, which does not point to the
> > actual source of the error. This just improves that debug message to tell
> > users what happened.
> >
> > Signed-off-by: Ben Olson <matthew.olson@xxxxxxxxx>
> > ---
> >
> > Changed in v2:
> > * Made error message better reflect the condition
> >
> > tools/lib/bpf/btf.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
> > index 12468ae0d573..a4ae2df68b91 100644
> > --- a/tools/lib/bpf/btf.c
> > +++ b/tools/lib/bpf/btf.c
> > @@ -283,7 +283,7 @@ static int btf_parse_str_sec(struct btf *btf)
> > return -EINVAL;
> > }
> > if (!btf->base_btf && start[0]) {
> > - pr_debug("Invalid BTF string section\n");
> > + pr_debug("Malformed BTF string section, did you forget to provide base BTF?\n");
>
> I'm not sure why, but this v2 didn't make it into patchworks, so I
> can't apply it. Can you please resend?

Sure thing. Thanks.

>
> Also please make sure you don't change indentation (tabs -> spaces),
> because it looks like that's what happened here.

Ach, rookie mistake. I'll add clang-format to my git hooks.

>
> > return -EINVAL;
> > }
> > return 0;
> > --
> > 2.47.0