Thread (6 messages) 6 messages, 4 authors, 2021-05-30

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.c 
b/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
.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help