On Wed, Jun 14, 2023 at 7:09 AM Yonghong Song <yhs@xxxxxxxx> wrote: > > > > On 6/14/23 12:42 AM, wuyonggang001@xxxxxxxxxx wrote: > > Fix the following coccicheck error: > > > > tools/testing/selftests/bpf/progs/test_ksyms_weak.c:53:6-20: ERROR: test > > of a variable/field address > > I didn't see clang/gcc compiler warns about this. Maybe need some > additional flags beyond what current selftest/bpf already has > in order to trigger this warning? > If you feel this warning has some merit, could you propose > it to gcc/llvm community? bpf_link_fops2 is a weak symbol, this check is totally valid and reasonable. There are two problems here, though: a) coccicheck shouldn't warn about "test of a variable/field address" for weak symbols, because they can be NULL. b) this patch is not even fixing that warning, it does a no-op change from implicit non-NULL check to explicit non-NULL check. And the former is actually the preferred style. So this patch is doubly wrong. > > > > > Signed-off-by: Yonggang Wu <wuyonggang001@xxxxxxxxxx> > > --- > > tools/testing/selftests/bpf/progs/test_ksyms_weak.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/testing/selftests/bpf/progs/test_ksyms_weak.c > > b/tools/testing/selftests/bpf/progs/test_ksyms_weak.c > > index d00268c91e19..768a4d6ee6f5 100644 > > --- a/tools/testing/selftests/bpf/progs/test_ksyms_weak.c > > +++ b/tools/testing/selftests/bpf/progs/test_ksyms_weak.c > > @@ -50,7 +50,7 @@ int pass_handler(const void *ctx) > > /* tests non-existent symbols. */ > > out__non_existent_typed = (__u64)&bpf_link_fops2; > > > > - if (&bpf_link_fops2) /* can't happen */ > > + if (&bpf_link_fops2 != NULL) /* can't happen */ > > out__non_existent_typed = > > (__u64)bpf_per_cpu_ptr(&bpf_link_fops2, 0); > > > > if (!bpf_ksym_exists(bpf_task_acquire)) > >