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-improvements-for-bpf_prog_test_run/20200714-022728 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 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