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-randconfig-c003-201935 (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 <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from include/linux/export.h:45:0, from include/linux/linkage.h:7, from include/linux/kernel.h:8, from include/linux/list.h:9, from include/linux/timer.h:5, from include/linux/workqueue.h:9, from include/linux/bpf.h:9, from kernel/bpf/syscall.c:4: 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) ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> kernel/bpf/syscall.c:2087:2: note: in expansion of macro 'if' if (!capable_bpf_net_admin) ^~ 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) ^ include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> kernel/bpf/syscall.c:2087:2: note: in expansion of macro 'if' if (!capable_bpf_net_admin) ^~ 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) ^ include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value' (cond) ? \ ^~~~ include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~ >> kernel/bpf/syscall.c:2087:2: note: in expansion of macro 'if' if (!capable_bpf_net_admin) ^~ vim +/if +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
Attachment:
.config.gz
Description: application/gzip