tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/ftrace/per-callsite-ops head: c38c50315b2f4311f78a93848e088ac6c77e6aa5 commit: fd70dc6e91f8948e2def0e145b3874bac45a1295 [7/11] WIP: ftrace: add DYNAMIC_FTRACE_WITH_CALL_OPS config: parisc-allyesconfig compiler: hppa-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=fd70dc6e91f8948e2def0e145b3874bac45a1295 git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git git fetch --no-tags mark arm64/ftrace/per-callsite-ops git checkout fd70dc6e91f8948e2def0e145b3874bac45a1295 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash arch/parisc/kernel/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from include/linux/kprobes.h:28, from include/linux/kgdb.h:19, from arch/parisc/kernel/traps.c:47: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/traps.c:338:6: warning: no previous prototype for 'transfer_pim_to_trap_frame' [-Wmissing-prototypes] 338 | void transfer_pim_to_trap_frame(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/traps.c:479:14: warning: no previous prototype for 'handle_interruption' [-Wmissing-prototypes] 479 | void notrace handle_interruption(int code, struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/traps.c:806:13: warning: no previous prototype for 'initialize_ivt' [-Wmissing-prototypes] 806 | void __init initialize_ivt(const void *iva) | ^~~~~~~~~~~~~~ arch/parisc/kernel/traps.c: In function 'initialize_ivt': arch/parisc/kernel/traps.c:813:14: warning: variable 'hpmcp' set but not used [-Wunused-but-set-variable] 813 | u32 *hpmcp; | ^~~~~ arch/parisc/kernel/traps.c: At top level: arch/parisc/kernel/traps.c:858:14: warning: no previous prototype for 'early_trap_init' [-Wmissing-prototypes] 858 | void __init early_trap_init(void) | ^~~~~~~~~~~~~~~ -- In file included from arch/parisc/kernel/time.c:31: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/time.c:64:25: warning: no previous prototype for 'timer_interrupt' [-Wmissing-prototypes] 64 | irqreturn_t __irq_entry timer_interrupt(int irq, void *dev_id) | ^~~~~~~~~~~~~~~ arch/parisc/kernel/time.c:155:6: warning: no previous prototype for 'start_cpu_itimer' [-Wmissing-prototypes] 155 | void start_cpu_itimer(void) | ^~~~~~~~~~~~~~~~ arch/parisc/kernel/time.c:238:13: warning: no previous prototype for 'time_init' [-Wmissing-prototypes] 238 | void __init time_init(void) | ^~~~~~~~~ -- In file included from include/linux/perf_event.h:52, from include/linux/trace_events.h:10, from include/trace/syscall.h:7, from include/linux/syscalls.h:88, from arch/parisc/kernel/sys_parisc.c:22: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:247:15: warning: no previous prototype for 'arch_mmap_rnd' [-Wmissing-prototypes] 247 | unsigned long arch_mmap_rnd(void) | ^~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:275:26: warning: no previous prototype for 'sys_mmap2' [-Wmissing-prototypes] 275 | asmlinkage unsigned long sys_mmap2(unsigned long addr, unsigned long len, | ^~~~~~~~~ arch/parisc/kernel/sys_parisc.c:285:26: warning: no previous prototype for 'sys_mmap' [-Wmissing-prototypes] 285 | asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, | ^~~~~~~~ arch/parisc/kernel/sys_parisc.c:328:17: warning: no previous prototype for 'parisc_truncate64' [-Wmissing-prototypes] 328 | asmlinkage long parisc_truncate64(const char __user * path, | ^~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:334:17: warning: no previous prototype for 'parisc_ftruncate64' [-Wmissing-prototypes] 334 | asmlinkage long parisc_ftruncate64(unsigned int fd, | ^~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:341:20: warning: no previous prototype for 'parisc_pread64' [-Wmissing-prototypes] 341 | asmlinkage ssize_t parisc_pread64(unsigned int fd, char __user *buf, size_t count, | ^~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:347:20: warning: no previous prototype for 'parisc_pwrite64' [-Wmissing-prototypes] 347 | asmlinkage ssize_t parisc_pwrite64(unsigned int fd, const char __user *buf, | ^~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:353:20: warning: no previous prototype for 'parisc_readahead' [-Wmissing-prototypes] 353 | asmlinkage ssize_t parisc_readahead(int fd, unsigned int high, unsigned int low, | ^~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:359:17: warning: no previous prototype for 'parisc_fadvise64_64' [-Wmissing-prototypes] 359 | asmlinkage long parisc_fadvise64_64(int fd, | ^~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:367:17: warning: no previous prototype for 'parisc_sync_file_range' [-Wmissing-prototypes] 367 | asmlinkage long parisc_sync_file_range(int fd, | ^~~~~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:375:17: warning: no previous prototype for 'parisc_fallocate' [-Wmissing-prototypes] 375 | asmlinkage long parisc_fallocate(int fd, int mode, u32 offhi, u32 offlo, | ^~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:382:6: warning: no previous prototype for 'parisc_personality' [-Wmissing-prototypes] 382 | long parisc_personality(unsigned long personality) | ^~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:422:17: warning: no previous prototype for 'parisc_timerfd_create' [-Wmissing-prototypes] 422 | asmlinkage long parisc_timerfd_create(int clockid, int flags) | ^~~~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:428:17: warning: no previous prototype for 'parisc_signalfd4' [-Wmissing-prototypes] 428 | asmlinkage long parisc_signalfd4(int ufd, sigset_t __user *user_mask, | ^~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:445:17: warning: no previous prototype for 'parisc_eventfd2' [-Wmissing-prototypes] 445 | asmlinkage long parisc_eventfd2(unsigned int count, int flags) | ^~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:451:17: warning: no previous prototype for 'parisc_userfaultfd' [-Wmissing-prototypes] 451 | asmlinkage long parisc_userfaultfd(int flags) | ^~~~~~~~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:457:17: warning: no previous prototype for 'parisc_pipe2' [-Wmissing-prototypes] 457 | asmlinkage long parisc_pipe2(int __user *fildes, int flags) | ^~~~~~~~~~~~ arch/parisc/kernel/sys_parisc.c:463:17: warning: no previous prototype for 'parisc_inotify_init1' [-Wmissing-prototypes] 463 | asmlinkage long parisc_inotify_init1(int flags) | ^~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/perf_event.h:52, from include/linux/trace_events.h:10, from include/trace/trace_events.h:21, from include/trace/define_trace.h:102, from include/trace/events/syscalls.h:73, from arch/parisc/kernel/ptrace.c:35: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/ptrace.c:315:6: warning: no previous prototype for 'do_syscall_trace_enter' [-Wmissing-prototypes] 315 | long do_syscall_trace_enter(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/ptrace.c:370:6: warning: no previous prototype for 'do_syscall_trace_exit' [-Wmissing-prototypes] 370 | void do_syscall_trace_exit(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/perf_event.h:52, from include/linux/trace_events.h:10, from include/trace/syscall.h:7, from include/linux/syscalls.h:88, from arch/parisc/kernel/parisc_ksyms.c:16: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ -- In file included from arch/parisc/kernel/smp.c:30: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/smp.c:120:1: warning: no previous prototype for 'ipi_interrupt' [-Wmissing-prototypes] 120 | ipi_interrupt(int irq, void *dev_id) | ^~~~~~~~~~~~~ arch/parisc/kernel/smp.c:311:6: warning: no previous prototype for 'smp_callin' [-Wmissing-prototypes] 311 | void smp_callin(unsigned long pdce_proc) | ^~~~~~~~~~ -- In file included from arch/parisc/kernel/ftrace.c:14: >> include/linux/ftrace.h:60:47: warning: 'struct dyn_ftrace' declared inside parameter list will not be visible outside of this definition or declaration 60 | struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); | ^~~~~~~~~~ arch/parisc/kernel/ftrace.c:56:20: warning: no previous prototype for 'ftrace_function_trampoline' [-Wmissing-prototypes] 56 | void notrace __hot ftrace_function_trampoline(unsigned long parent, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ vim +60 include/linux/ftrace.h 39 40 #ifdef CONFIG_FUNCTION_TRACER 41 struct ftrace_ops; 42 struct ftrace_regs; 43 /* 44 * If the arch's mcount caller does not support all of ftrace's 45 * features, then it must call an indirect function that 46 * does. Or at least does enough to prevent any unwelcome side effects. 47 * 48 * Also define the function prototype that these architectures use 49 * to call the ftrace_ops_list_func(). 50 */ 51 #if !ARCH_SUPPORTS_FTRACE_OPS 52 # define FTRACE_FORCE_LIST_FUNC 1 53 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip); 54 #else 55 # define FTRACE_FORCE_LIST_FUNC 0 56 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, 57 struct ftrace_ops *op, struct ftrace_regs *fregs); 58 #endif 59 extern const struct ftrace_ops ftrace_list_ops; > 60 struct ftrace_ops *ftrace_find_rec_ops(struct dyn_ftrace *rec); 61 #endif /* CONFIG_FUNCTION_TRACER */ 62 -- 0-DAY CI Kernel Test Service https://01.org/lkp