Re: [PATCH] selftests/bpf: Fix return value check in attach_bpf()
From: yukuai (C) <hidden>
Date: 2021-05-29 01:25:36
Also in:
bpf, linux-kselftest, lkml
On 2021/05/29 4:46, Daniel Borkmann wrote:
On 5/28/21 11:07 AM, Yu Kuai wrote:quoted
use libbpf_get_error() to check the return value of bpf_program__attach(). Reported-by: Hulk Robot <redacted> Signed-off-by: Yu Kuai <redacted> --- tools/testing/selftests/bpf/benchs/bench_rename.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/tools/testing/selftests/bpf/benchs/bench_rename.cb/tools/testing/selftests/bpf/benchs/bench_rename.c index c7ec114eca56..b7d4a1d74fca 100644--- a/tools/testing/selftests/bpf/benchs/bench_rename.c +++ b/tools/testing/selftests/bpf/benchs/bench_rename.c@@ -65,7 +65,7 @@ static void attach_bpf(struct bpf_program *prog)struct bpf_link *link; link = bpf_program__attach(prog); - if (!link) { + if (libbpf_get_error(link)) { fprintf(stderr, "failed to attach program!\n"); exit(1); }Could you explain the rationale of this patch? bad2e478af3b ("selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks") explains: 'Fix all the explicit IS_ERR checks that now will be broken because libbpf returns NULL on error (and sets errno).' So the !link check looks totally reasonable to me. Converting to libbpf_get_error() is not wrong in itself, but given you don't make any use of the err code, there is also no point in this diff here.
Hi, I was thinking that bpf_program__attach() can return error code theoretically(for example -ESRCH), and such case need to be handled. Thanks, Yu Kuai
Thanks, Daniel .