Messages in this thread | | | Date | Fri, 24 Apr 2020 13:18:55 +0800 | From | kbuild test robot <> | Subject | Re: [PATCH bpf-next 1/2] bpf: Change error code when ops is NULL |
| |
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 [unhandled content-type:application/gzip] | |