diff mbox series

bpftool: print correct error message when failing to load BTF

Message ID 20200525135421.4154-1-tklauser@distanz.ch
State Accepted
Delegated to: BPF Maintainers
Headers show
Series bpftool: print correct error message when failing to load BTF | expand

Commit Message

Tobias Klauser May 25, 2020, 1:54 p.m. UTC
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>
---
 tools/bpf/bpftool/btf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Daniel Borkmann May 25, 2020, 10:18 p.m. UTC | #1
On 5/25/20 3:54 PM, Tobias Klauser wrote:
> 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>

Applied, thanks!
diff mbox series

Patch

diff --git a/tools/bpf/bpftool/btf.c b/tools/bpf/bpftool/btf.c
index 41a1346934a1..da6c3b9bd821 100644
--- a/tools/bpf/bpftool/btf.c
+++ b/tools/bpf/bpftool/btf.c
@@ -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));