Re: [PATCH] lib/bpf/libbpf: Simplify the code by using PTR_ERR_OR_ZERO
From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2018-07-31 21:11:51
Also in:
lkml
On 07/31/2018 06:30 PM, zhong jiang wrote:
quoted hunk ↗ jump to hunk
Use PTR_ERR_OR_ZERO is better than the open code. Signed-off-by: zhong jiang <redacted> --- tools/lib/bpf/libbpf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 40211b5..9b61468 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c@@ -2271,9 +2271,7 @@ struct bpf_map * long libbpf_get_error(const void *ptr) { - if (IS_ERR(ptr)) - return PTR_ERR(ptr); - return 0; + return PTR_ERR_OR_ZERO(ptr); } int bpf_prog_load(const char *file, enum bpf_prog_type type,
Looks like you didn't even bother to try to compile your change ...
# make
Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h'
CC libbpf.o
CC nlattr.o
CC btf.o
CC bpf.o
CC libbpf_errno.o
libbpf.c: In function ‘libbpf_get_error’:
libbpf.c:2269:9: error: implicit declaration of function ‘PTR_ERR_OR_ZERO’ [-Werror=implicit-function-declaration]
return PTR_ERR_OR_ZERO(ptr);
^~~~~~~~~~~~~~~
libbpf.c:2269:2: error: nested extern declaration of ‘PTR_ERR_OR_ZERO’ [-Werror=nested-externs]
return PTR_ERR_OR_ZERO(ptr);
^~~~~~
cc1: all warnings being treated as errors