libbpf: Improve debug message when the base BTF cannot be found
authorBen Olson <matthew.olson@intel.com>
Tue, 26 Nov 2024 20:08:45 +0000 (14:08 -0600)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 2 Dec 2024 16:41:51 +0000 (08:41 -0800)
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>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/Z0YqzQ5lNz7obQG7@bolson-desk
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/btf.c

index 12468ae0d573d7a150269f4a692761d3742af58e..a4ae2df68b9140091364ffa3b5bb8032d6faa058 100644 (file)
@@ -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;