Blob Blame History Raw
From: YueHaibing <yuehaibing@huawei.com>
Date: Fri, 17 Jul 2020 20:30:59 +0800
Subject: tools/bpftool: Fix error handing in do_skeleton()
Patch-mainline: v5.9-rc1
Git-commit: 956fcfcd359512f15b19bcd157fa8206ed26605b
References: bsc#1177028

Fix pass 0 to PTR_ERR, also dump more err info using
libbpf_strerror.

Fixes: 5dc7a8b21144 ("bpftool, selftests/bpf: Embed object file inside skeleton")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20200717123059.29624-1-yuehaibing@huawei.com
Acked-by: Gary Lin <glin@suse.com>
---
 tools/bpf/bpftool/gen.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/tools/bpf/bpftool/gen.c
+++ b/tools/bpf/bpftool/gen.c
@@ -302,8 +302,11 @@ static int do_skeleton(int argc, char **
 	opts.object_name = obj_name;
 	obj = bpf_object__open_mem(obj_data, file_sz, &opts);
 	if (IS_ERR(obj)) {
+		char err_buf[256];
+
+		libbpf_strerror(PTR_ERR(obj), err_buf, sizeof(err_buf));
+		p_err("failed to open BPF object file: %s", err_buf);
 		obj = NULL;
-		p_err("failed to open BPF object file: %ld", PTR_ERR(obj));
 		goto out;
 	}