From: kbuild test robot <lkp@intel.com> To: Mao Wenan <maowenan@huawei.com>, ast@kernel.org, daniel@iogearbox.net, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org Cc: kbuild-all@lists.01.org, netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: Re: [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL Date: Fri, 24 Apr 2020 13:18:55 +0800 [thread overview] Message-ID: <202004241349.zMfvRjhe%lkp@intel.com> (raw) In-Reply-To: <20200422083010.28000-2-maowenan@huawei.com> [-- Attachment #1: Type: text/plain, Size: 28941 bytes --] Hi Mao, Thank you for the patch! Yet something to improve: [auto build test ERROR on bpf-next/master] [also build test ERROR on bpf/master net/master net-next/master v5.7-rc2 next-20200423] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mao-Wenan/Change-return-code-if-failed-to-load-object/20200424-025339 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=sh If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): 2452 | static const struct bpf_link_ops bpf_raw_tp_lops = { | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2256:34: note: previous declaration of 'bpf_raw_tp_lops' was here 2256 | static const struct bpf_link_ops bpf_raw_tp_lops; | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2453:13: error: initializer element is not constant 2453 | .release = bpf_raw_tp_link_release, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2453:13: note: (near initialization for 'bpf_raw_tp_lops.release') kernel/bpf/syscall.c:2454:13: error: initializer element is not constant 2454 | .dealloc = bpf_raw_tp_link_dealloc, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2454:13: note: (near initialization for 'bpf_raw_tp_lops.dealloc') kernel/bpf/syscall.c:2459:12: error: invalid storage class for function 'bpf_raw_tracepoint_open' 2459 | static int bpf_raw_tracepoint_open(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2546:12: error: invalid storage class for function 'bpf_prog_attach_check_attach_type' 2546 | static int bpf_prog_attach_check_attach_type(const struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2564:1: error: invalid storage class for function 'attach_type_to_prog_type' 2564 | attach_type_to_prog_type(enum bpf_attach_type attach_type) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2612:12: error: invalid storage class for function 'bpf_prog_attach' 2612 | static int bpf_prog_attach(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2671:12: error: invalid storage class for function 'bpf_prog_detach' 2671 | static int bpf_prog_detach(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2706:12: error: invalid storage class for function 'bpf_prog_query' 2706 | static int bpf_prog_query(const union bpf_attr *attr, | ^~~~~~~~~~~~~~ kernel/bpf/syscall.c:2747:12: error: invalid storage class for function 'bpf_prog_test_run' 2747 | static int bpf_prog_test_run(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2779:12: error: invalid storage class for function 'bpf_obj_get_next_id' 2779 | static int bpf_obj_get_next_id(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2824:12: error: invalid storage class for function 'bpf_prog_get_fd_by_id' 2824 | static int bpf_prog_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2849:12: error: invalid storage class for function 'bpf_map_get_fd_by_id' 2849 | static int bpf_map_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'bpf_map_get_fd_by_id': kernel/bpf/syscall.c:2870:9: error: implicit declaration of function '__bpf_map_inc_not_zero'; did you mean 'bpf_map_inc_not_zero'? [-Werror=implicit-function-declaration] 2870 | map = __bpf_map_inc_not_zero(map, true); | ^~~~~~~~~~~~~~~~~~~~~~ | bpf_map_inc_not_zero kernel/bpf/syscall.c:2870:7: warning: assignment to 'struct bpf_map *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2870 | map = __bpf_map_inc_not_zero(map, true); | ^ kernel/bpf/syscall.c: In function 'find_and_alloc_map': kernel/bpf/syscall.c:2885:30: error: invalid storage class for function 'bpf_map_from_imm' 2885 | static const struct bpf_map *bpf_map_from_imm(const struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2909:25: error: invalid storage class for function 'bpf_insn_prepare_dump' 2909 | static struct bpf_insn *bpf_insn_prepare_dump(const struct bpf_prog *prog) | ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2953:12: error: invalid storage class for function 'set_info_rec_size' 2953 | static int set_info_rec_size(struct bpf_prog_info *info) | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2984:12: error: invalid storage class for function 'bpf_prog_get_info_by_fd' 2984 | static int bpf_prog_get_info_by_fd(struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3260:12: error: invalid storage class for function 'bpf_map_get_info_by_fd' 3260 | static int bpf_map_get_info_by_fd(struct bpf_map *map, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3303:12: error: invalid storage class for function 'bpf_btf_get_info_by_fd' 3303 | static int bpf_btf_get_info_by_fd(struct btf *btf, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3320:12: error: invalid storage class for function 'bpf_obj_get_info_by_fd' 3320 | static int bpf_obj_get_info_by_fd(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3351:12: error: invalid storage class for function 'bpf_btf_load' 3351 | static int bpf_btf_load(const union bpf_attr *attr) | ^~~~~~~~~~~~ kernel/bpf/syscall.c:3364:12: error: invalid storage class for function 'bpf_btf_get_fd_by_id' 3364 | static int bpf_btf_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3375:12: error: invalid storage class for function 'bpf_task_fd_query_copy' 3375 | static int bpf_task_fd_query_copy(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3424:12: error: invalid storage class for function 'bpf_task_fd_query' 3424 | static int bpf_task_fd_query(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3519:12: error: invalid storage class for function 'bpf_map_do_batch' 3519 | static int bpf_map_do_batch(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'bpf_map_do_batch': kernel/bpf/syscall.c:3538:8: error: implicit declaration of function 'map_get_sys_perms' [-Werror=implicit-function-declaration] 3538 | !(map_get_sys_perms(map, f) & FMODE_CAN_READ)) { | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'find_and_alloc_map': kernel/bpf/syscall.c:3564:12: error: invalid storage class for function 'link_create' 3564 | static int link_create(union bpf_attr *attr) | ^~~~~~~~~~~ kernel/bpf/syscall.c:3611:12: error: invalid storage class for function 'link_update' 3611 | static int link_update(union bpf_attr *attr) | ^~~~~~~~~~~ In file included from kernel/bpf/syscall.c:8: >> include/linux/syscalls.h:152:33: error: redeclaration of '__syscall_meta__bpf' with no linkage 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:136:33: note: previous declaration of '__syscall_meta__bpf' was here 136 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:174:2: note: in expansion of macro 'SYSCALL_TRACE_ENTER_EVENT' 174 | SYSCALL_TRACE_ENTER_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:152:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:177:4: error: redeclaration of '__syscall_meta__bpf' with no linkage 177 | __syscall_meta_##sname = { \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:152:33: note: previous declaration of '__syscall_meta__bpf' was here 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:176:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 176 | static struct syscall_metadata __used \ | ^~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:38: warning: 'alias' attribute ignored [-Wattributes] 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~ include/linux/syscalls.h:116:25: note: in definition of macro '__SC_DECL' 116 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:110:35: note: in expansion of macro '__MAP2' 110 | #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:114:22: note: in expansion of macro '__MAP3' 114 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:239:28: note: in expansion of macro '__MAP' 239 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:239:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 239 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:242:21: error: invalid storage class for function '__do_sys_bpf' 242 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:242:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 242 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:244:18: error: static declaration of '__se_sys_bpf' follows non-static declaration 244 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:243:18: note: previous declaration of '__se_sys_bpf' was here 243 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function '__se_sys_bpf': include/linux/syscalls.h:246:14: error: implicit declaration of function '__do_sys_bpf'; did you mean '__se_sys_bpf'? [-Werror=implicit-function-declaration] 246 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' vim +/__syscall_meta__bpf +152 include/linux/syscalls.h 8f0820183056ad2 Steven Rostedt 2010-04-20 134 fb34a08c3469b2b Jason Baron 2009-08-10 135 #define SYSCALL_TRACE_ENTER_EVENT(sname) \ 3d56e331b653767 Steven Rostedt 2011-02-02 136 static struct syscall_metadata __syscall_meta_##sname; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 137) static struct trace_event_call __used \ fb34a08c3469b2b Jason Baron 2009-08-10 138 event_enter_##sname = { \ 2239291aeb0379f Steven Rostedt 2010-04-21 139 .class = &event_class_syscall_enter, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 140 { \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 141 .name = "sys_enter"#sname, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 142 }, \ 80decc70afc57c8 Steven Rostedt 2010-04-23 143 .event.funcs = &enter_syscall_print_funcs, \ 31c16b13349970b Lai Jiangshan 2009-12-01 144 .data = (void *)&__syscall_meta_##sname,\ f4d5c029bd6731b Lai Jiangshan 2011-01-26 145 .flags = TRACE_EVENT_FL_CAP_ANY, \ 53cf810b1934f08 Frederic Weisbecker 2010-11-18 146 }; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 147) static struct trace_event_call __used \ e4a9ea5ee7c8812 Steven Rostedt 2011-01-27 148 __attribute__((section("_ftrace_events"))) \ f4d5c029bd6731b Lai Jiangshan 2011-01-26 149 *__event_enter_##sname = &event_enter_##sname; fb34a08c3469b2b Jason Baron 2009-08-10 150 fb34a08c3469b2b Jason Baron 2009-08-10 151 #define SYSCALL_TRACE_EXIT_EVENT(sname) \ 3d56e331b653767 Steven Rostedt 2011-02-02 @152 static struct syscall_metadata __syscall_meta_##sname; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 153) static struct trace_event_call __used \ fb34a08c3469b2b Jason Baron 2009-08-10 154 event_exit_##sname = { \ 2239291aeb0379f Steven Rostedt 2010-04-21 155 .class = &event_class_syscall_exit, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 156 { \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 157 .name = "sys_exit"#sname, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 158 }, \ 80decc70afc57c8 Steven Rostedt 2010-04-23 159 .event.funcs = &exit_syscall_print_funcs, \ 31c16b13349970b Lai Jiangshan 2009-12-01 160 .data = (void *)&__syscall_meta_##sname,\ f4d5c029bd6731b Lai Jiangshan 2011-01-26 161 .flags = TRACE_EVENT_FL_CAP_ANY, \ 53cf810b1934f08 Frederic Weisbecker 2010-11-18 162 }; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 163) static struct trace_event_call __used \ e4a9ea5ee7c8812 Steven Rostedt 2011-01-27 164 __attribute__((section("_ftrace_events"))) \ f4d5c029bd6731b Lai Jiangshan 2011-01-26 165 *__event_exit_##sname = &event_exit_##sname; fb34a08c3469b2b Jason Baron 2009-08-10 166 99e621f796d7f03 Al Viro 2013-03-05 167 #define SYSCALL_METADATA(sname, nb, ...) \ 99e621f796d7f03 Al Viro 2013-03-05 168 static const char *types_##sname[] = { \ 99e621f796d7f03 Al Viro 2013-03-05 169 __MAP(nb,__SC_STR_TDECL,__VA_ARGS__) \ 99e621f796d7f03 Al Viro 2013-03-05 170 }; \ 99e621f796d7f03 Al Viro 2013-03-05 171 static const char *args_##sname[] = { \ 99e621f796d7f03 Al Viro 2013-03-05 172 __MAP(nb,__SC_STR_ADECL,__VA_ARGS__) \ 99e621f796d7f03 Al Viro 2013-03-05 173 }; \ 540b7b8d65575c8 Li Zefan 2009-08-19 @174 SYSCALL_TRACE_ENTER_EVENT(sname); \ 540b7b8d65575c8 Li Zefan 2009-08-19 @175 SYSCALL_TRACE_EXIT_EVENT(sname); \ 2e33af029556cb8 Steven Rostedt 2010-04-22 176 static struct syscall_metadata __used \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 177 __syscall_meta_##sname = { \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 178 .name = "sys"#sname, \ ba976970c79fd2f Ian Munsie 2011-02-03 179 .syscall_nr = -1, /* Filled in at boot */ \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 180 .nb_args = nb, \ 99e621f796d7f03 Al Viro 2013-03-05 181 .types = nb ? types_##sname : NULL, \ 99e621f796d7f03 Al Viro 2013-03-05 182 .args = nb ? args_##sname : NULL, \ 540b7b8d65575c8 Li Zefan 2009-08-19 183 .enter_event = &event_enter_##sname, \ 540b7b8d65575c8 Li Zefan 2009-08-19 184 .exit_event = &event_exit_##sname, \ 2e33af029556cb8 Steven Rostedt 2010-04-22 185 .enter_fields = LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \ 3d56e331b653767 Steven Rostedt 2011-02-02 186 }; \ 3d56e331b653767 Steven Rostedt 2011-02-02 187 static struct syscall_metadata __used \ 3d56e331b653767 Steven Rostedt 2011-02-02 188 __attribute__((section("__syscalls_metadata"))) \ 3d56e331b653767 Steven Rostedt 2011-02-02 189 *__p_syscall_meta_##sname = &__syscall_meta_##sname; cf5f5cea270655d Yonghong Song 2017-08-04 190 cf5f5cea270655d Yonghong Song 2017-08-04 191 static inline int is_syscall_trace_event(struct trace_event_call *tp_event) cf5f5cea270655d Yonghong Song 2017-08-04 192 { cf5f5cea270655d Yonghong Song 2017-08-04 193 return tp_event->class == &event_class_syscall_enter || cf5f5cea270655d Yonghong Song 2017-08-04 194 tp_event->class == &event_class_syscall_exit; cf5f5cea270655d Yonghong Song 2017-08-04 195 } cf5f5cea270655d Yonghong Song 2017-08-04 196 99e621f796d7f03 Al Viro 2013-03-05 197 #else 99e621f796d7f03 Al Viro 2013-03-05 198 #define SYSCALL_METADATA(sname, nb, ...) cf5f5cea270655d Yonghong Song 2017-08-04 199 cf5f5cea270655d Yonghong Song 2017-08-04 200 static inline int is_syscall_trace_event(struct trace_event_call *tp_event) cf5f5cea270655d Yonghong Song 2017-08-04 201 { cf5f5cea270655d Yonghong Song 2017-08-04 202 return 0; cf5f5cea270655d Yonghong Song 2017-08-04 203 } 99e621f796d7f03 Al Viro 2013-03-05 204 #endif bed1ffca022cc87 Frederic Weisbecker 2009-03-13 205 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 206 #ifndef SYSCALL_DEFINE0 bed1ffca022cc87 Frederic Weisbecker 2009-03-13 207 #define SYSCALL_DEFINE0(sname) \ 99e621f796d7f03 Al Viro 2013-03-05 208 SYSCALL_METADATA(_##sname, 0); \ c9a211951c7c79c Howard McLauchlan 2018-03-21 209 asmlinkage long sys_##sname(void); \ c9a211951c7c79c Howard McLauchlan 2018-03-21 210 ALLOW_ERROR_INJECTION(sys_##sname, ERRNO); \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 211 asmlinkage long sys_##sname(void) 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 212 #endif /* SYSCALL_DEFINE0 */ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 213 6c5979631b4b03c Heiko Carstens 2009-02-11 214 #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 215 #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 216 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 217 #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 218 #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 219 #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) 1a94bc34768e463 Heiko Carstens 2009-01-14 220 609320c8a22715b Yonghong Song 2017-09-07 221 #define SYSCALL_DEFINE_MAXARGS 6 609320c8a22715b Yonghong Song 2017-09-07 222 bed1ffca022cc87 Frederic Weisbecker 2009-03-13 223 #define SYSCALL_DEFINEx(x, sname, ...) \ 99e621f796d7f03 Al Viro 2013-03-05 @224 SYSCALL_METADATA(sname, x, __VA_ARGS__) \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 225 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) bed1ffca022cc87 Frederic Weisbecker 2009-03-13 226 :::::: The code at line 152 was first introduced by commit :::::: 3d56e331b6537671c66f1b510bed0f1e0331dfc8 tracing: Replace syscall_meta_data struct array with pointer array :::::: TO: Steven Rostedt <srostedt@redhat.com> :::::: CC: Steven Rostedt <rostedt@goodmis.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 54689 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL Date: Fri, 24 Apr 2020 13:18:55 +0800 [thread overview] Message-ID: <202004241349.zMfvRjhe%lkp@intel.com> (raw) In-Reply-To: <20200422083010.28000-2-maowenan@huawei.com> [-- Attachment #1: Type: text/plain, Size: 29350 bytes --] Hi Mao, Thank you for the patch! Yet something to improve: [auto build test ERROR on bpf-next/master] [also build test ERROR on bpf/master net/master net-next/master v5.7-rc2 next-20200423] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mao-Wenan/Change-return-code-if-failed-to-load-object/20200424-025339 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=sh If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): 2452 | static const struct bpf_link_ops bpf_raw_tp_lops = { | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2256:34: note: previous declaration of 'bpf_raw_tp_lops' was here 2256 | static const struct bpf_link_ops bpf_raw_tp_lops; | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2453:13: error: initializer element is not constant 2453 | .release = bpf_raw_tp_link_release, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2453:13: note: (near initialization for 'bpf_raw_tp_lops.release') kernel/bpf/syscall.c:2454:13: error: initializer element is not constant 2454 | .dealloc = bpf_raw_tp_link_dealloc, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2454:13: note: (near initialization for 'bpf_raw_tp_lops.dealloc') kernel/bpf/syscall.c:2459:12: error: invalid storage class for function 'bpf_raw_tracepoint_open' 2459 | static int bpf_raw_tracepoint_open(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2546:12: error: invalid storage class for function 'bpf_prog_attach_check_attach_type' 2546 | static int bpf_prog_attach_check_attach_type(const struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2564:1: error: invalid storage class for function 'attach_type_to_prog_type' 2564 | attach_type_to_prog_type(enum bpf_attach_type attach_type) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2612:12: error: invalid storage class for function 'bpf_prog_attach' 2612 | static int bpf_prog_attach(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2671:12: error: invalid storage class for function 'bpf_prog_detach' 2671 | static int bpf_prog_detach(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2706:12: error: invalid storage class for function 'bpf_prog_query' 2706 | static int bpf_prog_query(const union bpf_attr *attr, | ^~~~~~~~~~~~~~ kernel/bpf/syscall.c:2747:12: error: invalid storage class for function 'bpf_prog_test_run' 2747 | static int bpf_prog_test_run(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2779:12: error: invalid storage class for function 'bpf_obj_get_next_id' 2779 | static int bpf_obj_get_next_id(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2824:12: error: invalid storage class for function 'bpf_prog_get_fd_by_id' 2824 | static int bpf_prog_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2849:12: error: invalid storage class for function 'bpf_map_get_fd_by_id' 2849 | static int bpf_map_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'bpf_map_get_fd_by_id': kernel/bpf/syscall.c:2870:9: error: implicit declaration of function '__bpf_map_inc_not_zero'; did you mean 'bpf_map_inc_not_zero'? [-Werror=implicit-function-declaration] 2870 | map = __bpf_map_inc_not_zero(map, true); | ^~~~~~~~~~~~~~~~~~~~~~ | bpf_map_inc_not_zero kernel/bpf/syscall.c:2870:7: warning: assignment to 'struct bpf_map *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2870 | map = __bpf_map_inc_not_zero(map, true); | ^ kernel/bpf/syscall.c: In function 'find_and_alloc_map': kernel/bpf/syscall.c:2885:30: error: invalid storage class for function 'bpf_map_from_imm' 2885 | static const struct bpf_map *bpf_map_from_imm(const struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2909:25: error: invalid storage class for function 'bpf_insn_prepare_dump' 2909 | static struct bpf_insn *bpf_insn_prepare_dump(const struct bpf_prog *prog) | ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2953:12: error: invalid storage class for function 'set_info_rec_size' 2953 | static int set_info_rec_size(struct bpf_prog_info *info) | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:2984:12: error: invalid storage class for function 'bpf_prog_get_info_by_fd' 2984 | static int bpf_prog_get_info_by_fd(struct bpf_prog *prog, | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3260:12: error: invalid storage class for function 'bpf_map_get_info_by_fd' 3260 | static int bpf_map_get_info_by_fd(struct bpf_map *map, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3303:12: error: invalid storage class for function 'bpf_btf_get_info_by_fd' 3303 | static int bpf_btf_get_info_by_fd(struct btf *btf, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3320:12: error: invalid storage class for function 'bpf_obj_get_info_by_fd' 3320 | static int bpf_obj_get_info_by_fd(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3351:12: error: invalid storage class for function 'bpf_btf_load' 3351 | static int bpf_btf_load(const union bpf_attr *attr) | ^~~~~~~~~~~~ kernel/bpf/syscall.c:3364:12: error: invalid storage class for function 'bpf_btf_get_fd_by_id' 3364 | static int bpf_btf_get_fd_by_id(const union bpf_attr *attr) | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3375:12: error: invalid storage class for function 'bpf_task_fd_query_copy' 3375 | static int bpf_task_fd_query_copy(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3424:12: error: invalid storage class for function 'bpf_task_fd_query' 3424 | static int bpf_task_fd_query(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3519:12: error: invalid storage class for function 'bpf_map_do_batch' 3519 | static int bpf_map_do_batch(const union bpf_attr *attr, | ^~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'bpf_map_do_batch': kernel/bpf/syscall.c:3538:8: error: implicit declaration of function 'map_get_sys_perms' [-Werror=implicit-function-declaration] 3538 | !(map_get_sys_perms(map, f) & FMODE_CAN_READ)) { | ^~~~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function 'find_and_alloc_map': kernel/bpf/syscall.c:3564:12: error: invalid storage class for function 'link_create' 3564 | static int link_create(union bpf_attr *attr) | ^~~~~~~~~~~ kernel/bpf/syscall.c:3611:12: error: invalid storage class for function 'link_update' 3611 | static int link_update(union bpf_attr *attr) | ^~~~~~~~~~~ In file included from kernel/bpf/syscall.c:8: >> include/linux/syscalls.h:152:33: error: redeclaration of '__syscall_meta__bpf' with no linkage 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:136:33: note: previous declaration of '__syscall_meta__bpf' was here 136 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:174:2: note: in expansion of macro 'SYSCALL_TRACE_ENTER_EVENT' 174 | SYSCALL_TRACE_ENTER_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:152:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:177:4: error: redeclaration of '__syscall_meta__bpf' with no linkage 177 | __syscall_meta_##sname = { \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:152:33: note: previous declaration of '__syscall_meta__bpf' was here 152 | static struct syscall_metadata __syscall_meta_##sname; \ | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:175:2: note: in expansion of macro 'SYSCALL_TRACE_EXIT_EVENT' 175 | SYSCALL_TRACE_EXIT_EVENT(sname); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:176:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 176 | static struct syscall_metadata __used \ | ^~~~~~ >> include/linux/syscalls.h:224:2: note: in expansion of macro 'SYSCALL_METADATA' 224 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:38: warning: 'alias' attribute ignored [-Wattributes] 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~ include/linux/syscalls.h:116:25: note: in definition of macro '__SC_DECL' 116 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:110:35: note: in expansion of macro '__MAP2' 110 | #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:114:22: note: in expansion of macro '__MAP3' 114 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:239:28: note: in expansion of macro '__MAP' 239 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:239:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 239 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:242:21: error: invalid storage class for function '__do_sys_bpf' 242 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:242:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 242 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:244:18: error: static declaration of '__se_sys_bpf' follows non-static declaration 244 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:243:18: note: previous declaration of '__se_sys_bpf' was here 243 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' 216 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c:3661:1: note: in expansion of macro 'SYSCALL_DEFINE3' 3661 | SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) | ^~~~~~~~~~~~~~~ kernel/bpf/syscall.c: In function '__se_sys_bpf': include/linux/syscalls.h:246:14: error: implicit declaration of function '__do_sys_bpf'; did you mean '__se_sys_bpf'? [-Werror=implicit-function-declaration] 246 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' 225 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' vim +/__syscall_meta__bpf +152 include/linux/syscalls.h 8f0820183056ad2 Steven Rostedt 2010-04-20 134 fb34a08c3469b2b Jason Baron 2009-08-10 135 #define SYSCALL_TRACE_ENTER_EVENT(sname) \ 3d56e331b653767 Steven Rostedt 2011-02-02 136 static struct syscall_metadata __syscall_meta_##sname; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 137) static struct trace_event_call __used \ fb34a08c3469b2b Jason Baron 2009-08-10 138 event_enter_##sname = { \ 2239291aeb0379f Steven Rostedt 2010-04-21 139 .class = &event_class_syscall_enter, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 140 { \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 141 .name = "sys_enter"#sname, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 142 }, \ 80decc70afc57c8 Steven Rostedt 2010-04-23 143 .event.funcs = &enter_syscall_print_funcs, \ 31c16b13349970b Lai Jiangshan 2009-12-01 144 .data = (void *)&__syscall_meta_##sname,\ f4d5c029bd6731b Lai Jiangshan 2011-01-26 145 .flags = TRACE_EVENT_FL_CAP_ANY, \ 53cf810b1934f08 Frederic Weisbecker 2010-11-18 146 }; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 147) static struct trace_event_call __used \ e4a9ea5ee7c8812 Steven Rostedt 2011-01-27 148 __attribute__((section("_ftrace_events"))) \ f4d5c029bd6731b Lai Jiangshan 2011-01-26 149 *__event_enter_##sname = &event_enter_##sname; fb34a08c3469b2b Jason Baron 2009-08-10 150 fb34a08c3469b2b Jason Baron 2009-08-10 151 #define SYSCALL_TRACE_EXIT_EVENT(sname) \ 3d56e331b653767 Steven Rostedt 2011-02-02 @152 static struct syscall_metadata __syscall_meta_##sname; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 153) static struct trace_event_call __used \ fb34a08c3469b2b Jason Baron 2009-08-10 154 event_exit_##sname = { \ 2239291aeb0379f Steven Rostedt 2010-04-21 155 .class = &event_class_syscall_exit, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 156 { \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 157 .name = "sys_exit"#sname, \ abb43f6998eb646 Mathieu Desnoyers 2014-04-09 158 }, \ 80decc70afc57c8 Steven Rostedt 2010-04-23 159 .event.funcs = &exit_syscall_print_funcs, \ 31c16b13349970b Lai Jiangshan 2009-12-01 160 .data = (void *)&__syscall_meta_##sname,\ f4d5c029bd6731b Lai Jiangshan 2011-01-26 161 .flags = TRACE_EVENT_FL_CAP_ANY, \ 53cf810b1934f08 Frederic Weisbecker 2010-11-18 162 }; \ 2425bcb9240f8c9 Steven Rostedt (Red Hat 2015-05-05 163) static struct trace_event_call __used \ e4a9ea5ee7c8812 Steven Rostedt 2011-01-27 164 __attribute__((section("_ftrace_events"))) \ f4d5c029bd6731b Lai Jiangshan 2011-01-26 165 *__event_exit_##sname = &event_exit_##sname; fb34a08c3469b2b Jason Baron 2009-08-10 166 99e621f796d7f03 Al Viro 2013-03-05 167 #define SYSCALL_METADATA(sname, nb, ...) \ 99e621f796d7f03 Al Viro 2013-03-05 168 static const char *types_##sname[] = { \ 99e621f796d7f03 Al Viro 2013-03-05 169 __MAP(nb,__SC_STR_TDECL,__VA_ARGS__) \ 99e621f796d7f03 Al Viro 2013-03-05 170 }; \ 99e621f796d7f03 Al Viro 2013-03-05 171 static const char *args_##sname[] = { \ 99e621f796d7f03 Al Viro 2013-03-05 172 __MAP(nb,__SC_STR_ADECL,__VA_ARGS__) \ 99e621f796d7f03 Al Viro 2013-03-05 173 }; \ 540b7b8d65575c8 Li Zefan 2009-08-19 @174 SYSCALL_TRACE_ENTER_EVENT(sname); \ 540b7b8d65575c8 Li Zefan 2009-08-19 @175 SYSCALL_TRACE_EXIT_EVENT(sname); \ 2e33af029556cb8 Steven Rostedt 2010-04-22 176 static struct syscall_metadata __used \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 177 __syscall_meta_##sname = { \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 178 .name = "sys"#sname, \ ba976970c79fd2f Ian Munsie 2011-02-03 179 .syscall_nr = -1, /* Filled in at boot */ \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 180 .nb_args = nb, \ 99e621f796d7f03 Al Viro 2013-03-05 181 .types = nb ? types_##sname : NULL, \ 99e621f796d7f03 Al Viro 2013-03-05 182 .args = nb ? args_##sname : NULL, \ 540b7b8d65575c8 Li Zefan 2009-08-19 183 .enter_event = &event_enter_##sname, \ 540b7b8d65575c8 Li Zefan 2009-08-19 184 .exit_event = &event_exit_##sname, \ 2e33af029556cb8 Steven Rostedt 2010-04-22 185 .enter_fields = LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \ 3d56e331b653767 Steven Rostedt 2011-02-02 186 }; \ 3d56e331b653767 Steven Rostedt 2011-02-02 187 static struct syscall_metadata __used \ 3d56e331b653767 Steven Rostedt 2011-02-02 188 __attribute__((section("__syscalls_metadata"))) \ 3d56e331b653767 Steven Rostedt 2011-02-02 189 *__p_syscall_meta_##sname = &__syscall_meta_##sname; cf5f5cea270655d Yonghong Song 2017-08-04 190 cf5f5cea270655d Yonghong Song 2017-08-04 191 static inline int is_syscall_trace_event(struct trace_event_call *tp_event) cf5f5cea270655d Yonghong Song 2017-08-04 192 { cf5f5cea270655d Yonghong Song 2017-08-04 193 return tp_event->class == &event_class_syscall_enter || cf5f5cea270655d Yonghong Song 2017-08-04 194 tp_event->class == &event_class_syscall_exit; cf5f5cea270655d Yonghong Song 2017-08-04 195 } cf5f5cea270655d Yonghong Song 2017-08-04 196 99e621f796d7f03 Al Viro 2013-03-05 197 #else 99e621f796d7f03 Al Viro 2013-03-05 198 #define SYSCALL_METADATA(sname, nb, ...) cf5f5cea270655d Yonghong Song 2017-08-04 199 cf5f5cea270655d Yonghong Song 2017-08-04 200 static inline int is_syscall_trace_event(struct trace_event_call *tp_event) cf5f5cea270655d Yonghong Song 2017-08-04 201 { cf5f5cea270655d Yonghong Song 2017-08-04 202 return 0; cf5f5cea270655d Yonghong Song 2017-08-04 203 } 99e621f796d7f03 Al Viro 2013-03-05 204 #endif bed1ffca022cc87 Frederic Weisbecker 2009-03-13 205 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 206 #ifndef SYSCALL_DEFINE0 bed1ffca022cc87 Frederic Weisbecker 2009-03-13 207 #define SYSCALL_DEFINE0(sname) \ 99e621f796d7f03 Al Viro 2013-03-05 208 SYSCALL_METADATA(_##sname, 0); \ c9a211951c7c79c Howard McLauchlan 2018-03-21 209 asmlinkage long sys_##sname(void); \ c9a211951c7c79c Howard McLauchlan 2018-03-21 210 ALLOW_ERROR_INJECTION(sys_##sname, ERRNO); \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 211 asmlinkage long sys_##sname(void) 1bd21c6c21e8489 Dominik Brodowski 2018-04-05 212 #endif /* SYSCALL_DEFINE0 */ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 213 6c5979631b4b03c Heiko Carstens 2009-02-11 214 #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 215 #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 216 #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 217 #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 218 #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) 6c5979631b4b03c Heiko Carstens 2009-02-11 219 #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) 1a94bc34768e463 Heiko Carstens 2009-01-14 220 609320c8a22715b Yonghong Song 2017-09-07 221 #define SYSCALL_DEFINE_MAXARGS 6 609320c8a22715b Yonghong Song 2017-09-07 222 bed1ffca022cc87 Frederic Weisbecker 2009-03-13 223 #define SYSCALL_DEFINEx(x, sname, ...) \ 99e621f796d7f03 Al Viro 2013-03-05 @224 SYSCALL_METADATA(sname, x, __VA_ARGS__) \ bed1ffca022cc87 Frederic Weisbecker 2009-03-13 225 __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) bed1ffca022cc87 Frederic Weisbecker 2009-03-13 226 :::::: The code at line 152 was first introduced by commit :::::: 3d56e331b6537671c66f1b510bed0f1e0331dfc8 tracing: Replace syscall_meta_data struct array with pointer array :::::: TO: Steven Rostedt <srostedt@redhat.com> :::::: CC: Steven Rostedt <rostedt@goodmis.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 54689 bytes --]
next prev parent reply other threads:[~2020-04-24 5:20 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-22 8:30 [PATCH bpf-next 0/2] Change return code if failed to load object Mao Wenan 2020-04-22 8:30 ` Mao Wenan 2020-04-22 8:30 ` [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL Mao Wenan 2020-04-22 8:30 ` Mao Wenan 2020-04-22 9:33 ` Dan Carpenter 2020-04-22 9:33 ` Dan Carpenter 2020-04-23 3:33 ` [PATCH bpf-next v2 0/2] Change return code if failed to load object Mao Wenan 2020-04-23 3:33 ` Mao Wenan 2020-04-23 3:33 ` [PATCH bpf-next v2 1/2] bpf: Change error code when ops is NULL Mao Wenan 2020-04-23 3:33 ` Mao Wenan 2020-04-23 5:43 ` Alexei Starovoitov 2020-04-23 5:43 ` Alexei Starovoitov 2020-04-23 6:25 ` maowenan 2020-04-23 6:25 ` maowenan 2020-04-23 16:07 ` Alexei Starovoitov 2020-04-23 16:07 ` Alexei Starovoitov 2020-04-24 1:13 ` maowenan 2020-04-24 1:13 ` maowenan 2020-04-23 3:33 ` [PATCH bpf-next v2 2/2] libbpf: Return err if bpf_object__load failed Mao Wenan 2020-04-23 3:33 ` Mao Wenan 2020-04-24 5:10 ` [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL kbuild test robot 2020-04-24 5:10 ` kbuild test robot 2020-04-24 5:10 ` kbuild test robot 2020-04-24 5:18 ` kbuild test robot [this message] 2020-04-24 5:18 ` kbuild test robot 2020-04-30 1:55 ` kbuild test robot 2020-04-30 2:04 ` kbuild test robot 2020-04-30 2:04 ` kbuild test robot 2020-04-22 8:30 ` [PATCH bpf-next 2/2] libbpf: Return err if bpf_object__load failed Mao Wenan 2020-04-22 8:30 ` Mao Wenan 2020-04-22 23:27 ` Andrii Nakryiko 2020-04-22 23:27 ` Andrii Nakryiko 2020-04-24 1:46 [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL kbuild test robot 2020-04-24 13:41 kbuild test robot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202004241349.zMfvRjhe%lkp@intel.com \ --to=lkp@intel.com \ --cc=andriin@fb.com \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=john.fastabend@gmail.com \ --cc=kafai@fb.com \ --cc=kbuild-all@lists.01.org \ --cc=kernel-janitors@vger.kernel.org \ --cc=kpsingh@chromium.org \ --cc=linux-kernel@vger.kernel.org \ --cc=maowenan@huawei.com \ --cc=netdev@vger.kernel.org \ --cc=songliubraving@fb.com \ --cc=yhs@fb.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.