[gustavoars:testing/WFAMNAE-next20240215 1/1] kernel/bpf/core.c:2440:29: sparse: sparse: incompatible types in comparison expression (different base types):

From: kernel test robot
Date: Tue Feb 20 2024 - 17:14:48 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/WFAMNAE-next20240215
head: 3fedbc527c5726b876207557fb133a5e558c1898
commit: 89595f31005e412f450050f66a1b11c54cec99f8 [1/1] treewide: Address -Wflexible-array-member-not-at-end warnings
config: x86_64-randconfig-121-20240220 (https://download.01.org/0day-ci/archive/20240221/202402210653.mABjvUDs-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240221/202402210653.mABjvUDs-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402210653.mABjvUDs-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
kernel/bpf/core.c:236:49: sparse: sparse: arithmetics on pointers to functions
kernel/bpf/core.c:1986:43: sparse: sparse: arithmetics on pointers to functions
kernel/bpf/core.c:1991:48: sparse: sparse: arithmetics on pointers to functions
>> kernel/bpf/core.c:2440:29: sparse: sparse: incompatible types in comparison expression (different base types):
kernel/bpf/core.c:2440:29: sparse: struct bpf_prog_array *
kernel/bpf/core.c:2440:29: sparse: struct bpf_prog_array_tag *
kernel/bpf/core.c:2461:29: sparse: sparse: incompatible types in comparison expression (different base types):
kernel/bpf/core.c:2461:29: sparse: struct bpf_prog_array *
kernel/bpf/core.c:2461:29: sparse: struct bpf_prog_array_tag *
kernel/bpf/core.c: note: in included file (through include/trace/trace_events.h, include/trace/define_trace.h, include/trace/events/xdp.h, ...):
include/trace/events/xdp.h:321:1: sparse: sparse: Using plain integer as NULL pointer
include/trace/events/xdp.h:348:1: sparse: sparse: Using plain integer as NULL pointer
include/trace/events/xdp.h:382:1: sparse: sparse: Using plain integer as NULL pointer

vim +2440 kernel/bpf/core.c

324bda9e6c5add Alexei Starovoitov 2017-10-02 2437
54e9c9d4b506b6 Stanislav Fomichev 2019-05-28 2438 void bpf_prog_array_free(struct bpf_prog_array *progs)
324bda9e6c5add Alexei Starovoitov 2017-10-02 2439 {
46531a30364bd4 Pavel Begunkov 2022-01-27 @2440 if (!progs || progs == &bpf_empty_prog_array.hdr)
324bda9e6c5add Alexei Starovoitov 2017-10-02 2441 return;
324bda9e6c5add Alexei Starovoitov 2017-10-02 2442 kfree_rcu(progs, rcu);
324bda9e6c5add Alexei Starovoitov 2017-10-02 2443 }
324bda9e6c5add Alexei Starovoitov 2017-10-02 2444

:::::: The code at line 2440 was first introduced by commit
:::::: 46531a30364bd483bfa1b041c15d42a196e77e93 cgroup/bpf: fast path skb BPF filtering

:::::: TO: Pavel Begunkov <asml.silence@xxxxxxxxx>
:::::: CC: Alexei Starovoitov <ast@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki