]> git.baikalelectronics.ru Git - kernel.git/commitdiff
tools, bpftool: Print correct error message when failing to load BTF
authorTobias Klauser <tklauser@distanz.ch>
Mon, 25 May 2020 13:54:21 +0000 (15:54 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 1 Jun 2020 21:38:19 +0000 (14:38 -0700)
btf__parse_raw and btf__parse_elf return negative error numbers wrapped
in an ERR_PTR, so the extracted value needs to be negated before passing
them to strerror which expects a positive error number.

Before:
  Error: failed to load BTF from .../vmlinux: Unknown error -2

After:
  Error: failed to load BTF from .../vmlinux: No such file or directory

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20200525135421.4154-1-tklauser@distanz.ch
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/btf.c

index c134666591a614093a9b1053bab497480ad9e15d..faac8189b285301239cd91526f15881e4e27137f 100644 (file)
@@ -553,7 +553,7 @@ static int do_dump(int argc, char **argv)
                        btf = btf__parse_elf(*argv, NULL);
 
                if (IS_ERR(btf)) {
-                       err = PTR_ERR(btf);
+                       err = -PTR_ERR(btf);
                        btf = NULL;
                        p_err("failed to load BTF from %s: %s",
                              *argv, strerror(err));