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@xxxxxxxxx> 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@xxxxxxxxx> > > --- > > 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 >