[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zz_XeumgS28UAYaZ@bolson-desk>
Date: Thu, 21 Nov 2024 18:59:38 -0600
From: "Olson, Matthew" <matthew.olson@...el.com>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
CC: Andrii Nakryiko <andrii@...nel.org>, Eduard Zingerman <eddyz87@...il.com>,
<bpf@...r.kernel.org>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann
<daniel@...earbox.net>, Martin KaFai Lau <martin.lau@...ux.dev>, Song Liu
<song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>, John Fastabend
<john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>, Stanislav Fomichev
<sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH bpf-next] libbpf: Improve debug message when the base BTF
cannot be found
On Thu, Nov 21, 2024 at 03:55:15PM -0800, Andrii Nakryiko wrote:
> On Thu, Nov 21, 2024 at 2:08 PM Ben Olson <matthew.olson@...el.com> wrote:
> >
> > 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@...el.com>
> > ---
> > 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..1a17de9d99e6 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("Cannot find base BTF\n");
>
> Well, the check indeed checks the well-formedness of the BTF string
> section. It is specified that the first byte has to be zero ("empty
> string"), unless it's a split BTF.
>
> Base BTF being missing is just one possible reason for this condition,
> so I'm not sure if it's completely accurate to specialize this error
> message so much. Perhaps maybe emitting "Malformed BTF string section,
> did you forget to provide base BTF?" would be a bit better.
That sounds much better; as long as it hints that the user should
check if they specified a base BTF or not, it's good with me! Thanks.
>
> pw-bot: cr
>
> > return -EINVAL;
> > }
> > return 0;
> > --
> > 2.47.0
>
Powered by blists - more mailing lists