* [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found @ 2024-11-21 22:03 Ben Olson 2024-11-21 23:55 ` Andrii Nakryiko 2024-11-22 1:01 ` [PATCH v2 " Olson, Matthew 0 siblings, 2 replies; 8+ messages in thread From: Ben Olson @ 2024-11-21 22:03 UTC (permalink / raw) To: Andrii Nakryiko, Eduard Zingerman, bpf Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Eduard Zingerman, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, bpf, linux-kernel 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@intel.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"); return -EINVAL; } return 0; -- 2.47.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-21 22:03 [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found Ben Olson @ 2024-11-21 23:55 ` Andrii Nakryiko 2024-11-22 0:59 ` Olson, Matthew 2024-11-22 1:01 ` [PATCH v2 " Olson, Matthew 1 sibling, 1 reply; 8+ messages in thread From: Andrii Nakryiko @ 2024-11-21 23:55 UTC (permalink / raw) To: Ben Olson Cc: Andrii Nakryiko, Eduard Zingerman, bpf, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel On Thu, Nov 21, 2024 at 2:08 PM Ben Olson <matthew.olson@intel.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@intel.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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-21 23:55 ` Andrii Nakryiko @ 2024-11-22 0:59 ` Olson, Matthew 0 siblings, 0 replies; 8+ messages in thread From: Olson, Matthew @ 2024-11-22 0:59 UTC (permalink / raw) To: Andrii Nakryiko Cc: Andrii Nakryiko, Eduard Zingerman, bpf, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel 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@intel.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@intel.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 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-21 22:03 [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found Ben Olson 2024-11-21 23:55 ` Andrii Nakryiko @ 2024-11-22 1:01 ` Olson, Matthew 2024-11-22 5:35 ` John Fastabend 2024-11-26 19:21 ` Andrii Nakryiko 1 sibling, 2 replies; 8+ messages in thread From: Olson, Matthew @ 2024-11-22 1:01 UTC (permalink / raw) To: Andrii Nakryiko, Eduard Zingerman, bpf Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001 From: Ben Olson <matthew.olson@intel.com> 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@intel.com> --- 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"); return -EINVAL; } return 0; -- 2.47.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-22 1:01 ` [PATCH v2 " Olson, Matthew @ 2024-11-22 5:35 ` John Fastabend 2024-11-26 19:21 ` Andrii Nakryiko 1 sibling, 0 replies; 8+ messages in thread From: John Fastabend @ 2024-11-22 5:35 UTC (permalink / raw) To: Olson, Matthew, Andrii Nakryiko, Eduard Zingerman, bpf Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel Olson, Matthew wrote: > From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001 > From: Ben Olson <matthew.olson@intel.com> > 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@intel.com> > --- LGTM Acked-by: John Fastabend <john.fastabend@gmail.com> > > 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"); > return -EINVAL; > } > return 0; > -- > 2.47.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-22 1:01 ` [PATCH v2 " Olson, Matthew 2024-11-22 5:35 ` John Fastabend @ 2024-11-26 19:21 ` Andrii Nakryiko 2024-11-26 19:39 ` Olson, Matthew 1 sibling, 1 reply; 8+ messages in thread From: Andrii Nakryiko @ 2024-11-26 19:21 UTC (permalink / raw) To: Olson, Matthew Cc: Andrii Nakryiko, Eduard Zingerman, bpf, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel On Thu, Nov 21, 2024 at 5:07 PM Olson, Matthew <matthew.olson@intel.com> wrote: > > From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001 > From: Ben Olson <matthew.olson@intel.com> > 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@intel.com> > --- > > 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? Also please make sure you don't change indentation (tabs -> spaces), because it looks like that's what happened here. > return -EINVAL; > } > return 0; > -- > 2.47.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-26 19:21 ` Andrii Nakryiko @ 2024-11-26 19:39 ` Olson, Matthew 2024-11-26 20:14 ` Olson, Matthew 0 siblings, 1 reply; 8+ messages in thread From: Olson, Matthew @ 2024-11-26 19:39 UTC (permalink / raw) To: Andrii Nakryiko Cc: Andrii Nakryiko, Eduard Zingerman, bpf, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel 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@intel.com> wrote: > > > > From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001 > > From: Ben Olson <matthew.olson@intel.com> > > 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@intel.com> > > --- > > > > 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 bpf-next] libbpf: Improve debug message when the base BTF cannot be found 2024-11-26 19:39 ` Olson, Matthew @ 2024-11-26 20:14 ` Olson, Matthew 0 siblings, 0 replies; 8+ messages in thread From: Olson, Matthew @ 2024-11-26 20:14 UTC (permalink / raw) To: Andrii Nakryiko Cc: Andrii Nakryiko, Eduard Zingerman, bpf, Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, linux-kernel On Tue, Nov 26, 2024 at 01:39:36PM -0600, Olson, Matthew wrote: > 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@intel.com> wrote: > > > > > > From 22ed11ee2153fc921987eac7de24f564da9f9230 Mon Sep 17 00:00:00 2001 > > > From: Ben Olson <matthew.olson@intel.com> > > > 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@intel.com> > > > --- > > > > > > 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. Ah, I think I figured out why it didn't make it into patchworks; I'll resend yet again. > > > > > 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 > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-11-26 20:19 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-11-21 22:03 [PATCH bpf-next] libbpf: Improve debug message when the base BTF cannot be found Ben Olson 2024-11-21 23:55 ` Andrii Nakryiko 2024-11-22 0:59 ` Olson, Matthew 2024-11-22 1:01 ` [PATCH v2 " Olson, Matthew 2024-11-22 5:35 ` John Fastabend 2024-11-26 19:21 ` Andrii Nakryiko 2024-11-26 19:39 ` Olson, Matthew 2024-11-26 20:14 ` Olson, Matthew
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox