include/linux/ftrace.h:138:16: error: implicit declaration of function 'arch_ftrace_get_regs'; did you mean 'ftrace_get_regs'?

From: kernel test robot
Date: Sat Dec 14 2024 - 06:03:12 EST


Hi Puranjay,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a446e965a188ee8f745859e63ce046fe98577d45
commit: 7caa9765465f60b6d88e22264892cee12d971888 ftrace: riscv: move from REGS to ARGS
date: 7 months ago
config: riscv-randconfig-r133-20241214 (https://download.01.org/0day-ci/archive/20241214/202412141827.Xzmgi9eg-lkp@xxxxxxxxx/config)
compiler: riscv64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241214/202412141827.Xzmgi9eg-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412141827.Xzmgi9eg-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from arch/riscv/kernel/asm-offsets.c:12:
include/linux/ftrace.h: In function 'ftrace_get_regs':
>> include/linux/ftrace.h:138:16: error: implicit declaration of function 'arch_ftrace_get_regs'; did you mean 'ftrace_get_regs'? [-Wimplicit-function-declaration]
138 | return arch_ftrace_get_regs(fregs);
| ^~~~~~~~~~~~~~~~~~~~
| ftrace_get_regs
>> include/linux/ftrace.h:138:16: error: returning 'int' from a function with return type 'struct pt_regs *' makes pointer from integer without a cast [-Wint-conversion]
138 | return arch_ftrace_get_regs(fregs);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:117: arch/riscv/kernel/asm-offsets.s] Error 1
make[3]: Target 'prepare' not remade because of errors.
make[2]: *** [Makefile:1203: prepare0] Error 2
make[2]: Target 'prepare' not remade because of errors.
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:240: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +138 include/linux/ftrace.h

d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 132)
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 133) static __always_inline struct pt_regs *ftrace_get_regs(struct ftrace_regs *fregs)
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 134) {
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 135) if (!fregs)
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 136) return NULL;
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 137)
02a474ca266a47e Steven Rostedt (VMware 2020-10-27 @138) return arch_ftrace_get_regs(fregs);
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 139) }
d19ad0775dcd64b Steven Rostedt (VMware 2020-10-28 140)

:::::: The code at line 138 was first introduced by commit
:::::: 02a474ca266a47ea8f4d5a11f4ffa120f83730ad ftrace/x86: Allow for arguments to be passed in to ftrace_regs by default

:::::: TO: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
:::::: CC: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki