lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4BzY8DhvdgRg0GKEfhJ1HHtFGhgDqVNG0B8F6FAyd_c5+0g@mail.gmail.com>
Date: Thu, 21 Nov 2024 15:55:15 -0800
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Ben Olson <matthew.olson@...el.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 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.

pw-bot: cr

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ