Hi Dmitry,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url:
https://github.com/0day-ci/linux/commits/Dmitry-Yakunin/bpf-cgroup-skb-im...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-randconfig-s022-20200714 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
net/bpf/test_run.c:25:17: sparse: sparse: incompatible types in comparison expression
(different address spaces):
net/bpf/test_run.c:25:17: sparse: struct bpf_prog_array [noderef] __rcu *
net/bpf/test_run.c:25:17: sparse: struct bpf_prog_array *
> net/bpf/test_run.c:50:56: sparse: sparse: incorrect type in
argument 2 (different address spaces) @@ expected struct bpf_prog_array *[addressable]
effective @@ got struct bpf_prog_array [noderef] __rcu * @@
> net/bpf/test_run.c:50:56: sparse: expected struct bpf_prog_array *[addressable]
effective
> net/bpf/test_run.c:50:56: sparse: got struct bpf_prog_array [noderef] __rcu *
net/bpf/test_run.c:53:64: sparse: sparse: incorrect type in argument 2 (different
address spaces) @@ expected struct bpf_prog_array *[addressable] effective @@ got
struct bpf_prog_array [noderef] __rcu * @@
net/bpf/test_run.c:53:64: sparse: expected struct bpf_prog_array *[addressable]
effective
net/bpf/test_run.c:53:64: sparse: got struct bpf_prog_array [noderef] __rcu *
vim +50 net/bpf/test_run.c
38
39 static struct bpf_cgroup_storage **bpf_prog_find_active_storage(struct bpf_prog
*prog)
40 {
41 struct bpf_prog_array_item *item;
42 struct cgroup *cgrp;
43
44 if (prog->type != BPF_PROG_TYPE_CGROUP_SKB)
45 return NULL;
46
47 cgrp = task_dfl_cgroup(current);
48
49 item = bpf_prog_find_active(prog,
50 cgrp->bpf.effective[BPF_CGROUP_INET_INGRESS]);
51 if (!item)
52 item = bpf_prog_find_active(prog,
53 cgrp->bpf.effective[BPF_CGROUP_INET_EGRESS]);
54
55 return item ? item->cgroup_storage : NULL;
56 }
57
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org