[ammarfaizi2-block:google/android/kernel/common/android-4.14-stable 640/9999] kernel/bpf/core.c:1500:31: sparse: sparse: incorrect type in return expression (different address spaces)

From: kernel test robot
Date: Thu Mar 03 2022 - 02:37:57 EST


tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.14-stable
head: 4ab5bac1598e3ed91a6267f6cada336467312112
commit: 9e61c87b1f47b4dc3d48de83d85e9f17c320f91e [640/9999] UPSTREAM: bpf: multi program support for cgroup+bpf
config: i386-randconfig-s001-20211019 (https://download.01.org/0day-ci/archive/20220303/202203031539.NvXuofDv-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/9e61c87b1f47b4dc3d48de83d85e9f17c320f91e
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.14-stable
git checkout 9e61c87b1f47b4dc3d48de83d85e9f17c320f91e
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash kernel/bpf/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
kernel/bpf/core.c:1095:43: sparse: sparse: arithmetics on pointers to functions
>> kernel/bpf/core.c:1500:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct bpf_prog_array [noderef] <asn:4> * @@ got void * @@
kernel/bpf/core.c:1500:31: sparse: expected struct bpf_prog_array [noderef] <asn:4> *
kernel/bpf/core.c:1500:31: sparse: got void *
>> kernel/bpf/core.c:1504:17: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct bpf_prog_array [noderef] <asn:4> * @@ got struct bpf_prog_array * @@
kernel/bpf/core.c:1504:17: sparse: expected struct bpf_prog_array [noderef] <asn:4> *
kernel/bpf/core.c:1504:17: sparse: got struct bpf_prog_array *
kernel/bpf/core.c:1512:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct callback_head *head @@ got struct callback_head [noderef] <asn:4> * @@
kernel/bpf/core.c:1512:9: sparse: expected struct callback_head *head
kernel/bpf/core.c:1512:9: sparse: got struct callback_head [noderef] <asn:4> *

vim +1500 kernel/bpf/core.c

1496
1497 struct bpf_prog_array __rcu *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags)
1498 {
1499 if (prog_cnt)
> 1500 return kzalloc(sizeof(struct bpf_prog_array) +
1501 sizeof(struct bpf_prog *) * (prog_cnt + 1),
1502 flags);
1503
> 1504 return &empty_prog_array.hdr;
1505 }
1506

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx