Hi Alexei, I love your patch! Perhaps something to improve: [auto build test WARNING on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Alexei-Starovoitov/capability-introduce-CAP_BPF-and-CAP_TRACING/20190906-215814 base: https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: x86_64-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.4.0-11) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): kernel//bpf/syscall.c: In function 'bpf_prog_test_run': >> kernel//bpf/syscall.c:2087:6: warning: the address of 'capable_bpf_net_admin' will always evaluate as 'true' [-Waddress] if (!capable_bpf_net_admin) ^ vim +2087 kernel//bpf/syscall.c 2080 2081 static int bpf_prog_test_run(const union bpf_attr *attr, 2082 union bpf_attr __user *uattr) 2083 { 2084 struct bpf_prog *prog; 2085 int ret = -ENOTSUPP; 2086 > 2087 if (!capable_bpf_net_admin) 2088 /* test_run callback is available for networking progs only. 2089 * Add capable_bpf_tracing() above when tracing progs become runable. 2090 */ 2091 return -EPERM; 2092 if (CHECK_ATTR(BPF_PROG_TEST_RUN)) 2093 return -EINVAL; 2094 2095 if ((attr->test.ctx_size_in && !attr->test.ctx_in) || 2096 (!attr->test.ctx_size_in && attr->test.ctx_in)) 2097 return -EINVAL; 2098 2099 if ((attr->test.ctx_size_out && !attr->test.ctx_out) || 2100 (!attr->test.ctx_size_out && attr->test.ctx_out)) 2101 return -EINVAL; 2102 2103 prog = bpf_prog_get(attr->test.prog_fd); 2104 if (IS_ERR(prog)) 2105 return PTR_ERR(prog); 2106 2107 if (prog->aux->ops->test_run) 2108 ret = prog->aux->ops->test_run(prog, attr, uattr); 2109 2110 bpf_prog_put(prog); 2111 return ret; 2112 } 2113 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation