Messages in this thread | | | Date | Fri, 15 Oct 2021 09:28:51 +0800 | From | kernel test robot <> | Subject | [gustavoars:for-next/cast-function 3/4] include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/cast-function head: 21078041965eb5a2e83d296690a93243611a3c27 commit: c45ede6c27819bb038af313b475fdf50ce755dd6 [3/4] ftrace: Fix -Wmissing-prototypes errors config: i386-randconfig-r001-20211014 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/?id=c45ede6c27819bb038af313b475fdf50ce755dd6 git remote add gustavoars https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git git fetch --no-tags gustavoars for-next/cast-function git checkout c45ede6c27819bb038af313b475fdf50ce755dd6 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/trace/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/perf_event.h:49, from include/linux/trace_events.h:10, from kernel/trace/synth_event_gen_test.c:9: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ -- In file included from kernel/trace/ftrace.c:29: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ kernel/trace/ftrace.c:297:5: warning: no previous prototype for '__register_ftrace_function' [-Wmissing-prototypes] 297 | int __register_ftrace_function(struct ftrace_ops *ops) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:340:5: warning: no previous prototype for '__unregister_ftrace_function' [-Wmissing-prototypes] 340 | int __unregister_ftrace_function(struct ftrace_ops *ops) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:579:5: warning: no previous prototype for 'ftrace_profile_pages_init' [-Wmissing-prototypes] 579 | int ftrace_profile_pages_init(struct ftrace_profile_stat *stat) | ^~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:3871:15: warning: no previous prototype for 'arch_ftrace_match_adjust' [-Wmissing-prototypes] 3871 | char * __weak arch_ftrace_match_adjust(char *str, const char *search) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:7029:6: error: conflicting types for 'arch_ftrace_ops_list_func' 7029 | void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/trace/ftrace.c:29: include/linux/ftrace.h:48:6: note: previous declaration of 'arch_ftrace_ops_list_func' was here 48 | void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, | ^~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/trace/trace.c:31: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ kernel/trace/trace.c: In function 'trace_check_vprintf': kernel/trace/trace.c:3837:3: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 3837 | trace_seq_vprintf(&iter->seq, iter->fmt, ap); | ^~~~~~~~~~~~~~~~~ kernel/trace/trace.c:3892:3: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 3892 | trace_seq_vprintf(&iter->seq, p, ap); | ^~~~~~~~~~~~~~~~~ -- In file included from kernel/trace/trace_output.c:10: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ kernel/trace/trace_output.c: In function 'trace_output_raw': kernel/trace/trace_output.c:331:2: warning: function 'trace_output_raw' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 331 | trace_seq_vprintf(s, trace_event_format(iter, fmt), ap); | ^~~~~~~~~~~~~~~~~ -- In file included from kernel/trace/trace_preemptirq.c:11: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ kernel/trace/trace_preemptirq.c:88:16: warning: no previous prototype for 'trace_hardirqs_on_caller' [-Wmissing-prototypes] 88 | __visible void trace_hardirqs_on_caller(unsigned long caller_addr) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/trace_preemptirq.c:103:16: warning: no previous prototype for 'trace_hardirqs_off_caller' [-Wmissing-prototypes] 103 | __visible void trace_hardirqs_off_caller(unsigned long caller_addr) | ^~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/trace/fgraph.c:11: >> include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration 49 | struct ftrace_ops *op, struct ftrace_regs *fregs); | ^~~~~~~~~~~ kernel/trace/fgraph.c:232:15: warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes] 232 | unsigned long ftrace_return_to_handler(unsigned long frame_pointer) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/fgraph.c:347:6: warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes] 347 | void ftrace_graph_sleep_time_control(bool enable) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +49 include/linux/ftrace.h
32 33 #ifdef CONFIG_FUNCTION_TRACER 34 struct ftrace_ops; 35 /* 36 * If the arch's mcount caller does not support all of ftrace's 37 * features, then it must call an indirect function that 38 * does. Or at least does enough to prevent any unwelcome side effects. 39 * 40 * Also define the function prototype that these architectures use 41 * to call the ftrace_ops_list_func(). 42 */ 43 #if !ARCH_SUPPORTS_FTRACE_OPS 44 # define FTRACE_FORCE_LIST_FUNC 1 45 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip); 46 #else 47 # define FTRACE_FORCE_LIST_FUNC 0 48 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, > 49 struct ftrace_ops *op, struct ftrace_regs *fregs); 50 #endif 51 #endif /* CONFIG_FUNCTION_TRACER */ 52
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |