Re: [linux-stable-rc:linux-5.4.y 2563/9999] arch/ia64/kernel/kprobes.c:401:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'?

From: Greg Kroah-Hartman
Date: Fri Jan 14 2022 - 02:11:23 EST


On Thu, Jan 13, 2022 at 06:25:33PM +0900, Masami Hiramatsu wrote:
> On Thu, 13 Jan 2022 04:15:43 +0800
> kernel test robot <lkp@xxxxxxxxx> wrote:
>
> > Hi Masami,
> >
> > FYI, the error/warning still remains.
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
> > head: 0a4ce4977bbeea4560a1f32632650b388c834c8a
> > commit: 77fa5e15c933a1ec812de61ad709c00aa51e96ae [2563/9999] ia64: kprobes: Use generic kretprobe trampoline handler
> > config: ia64-randconfig-r002-20220112 (https://download.01.org/0day-ci/archive/20220113/202201130408.tdm9swhk-lkp@xxxxxxxxx/config)
> > compiler: ia64-linux-gcc (GCC) 11.2.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/stable/linux-stable-rc.git/commit/?id=77fa5e15c933a1ec812de61ad709c00aa51e96ae
> > git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > git fetch --no-tags linux-stable-rc linux-5.4.y
> > git checkout 77fa5e15c933a1ec812de61ad709c00aa51e96ae
> > # save the config file to linux build tree
> > mkdir build_dir
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > All errors (new ones prefixed by >>):
> >
> > arch/ia64/kernel/kprobes.c: In function 'get_kprobe_inst':
> > arch/ia64/kernel/kprobes.c:325:22: warning: variable 'template' set but not used [-Wunused-but-set-variable]
> > 325 | unsigned int template;
> > | ^~~~~~~~
>
> OK, this is another issue, which is in the upstream master too.
>
> > arch/ia64/kernel/kprobes.c: At top level:
> > arch/ia64/kernel/kprobes.c:399:15: warning: no previous prototype for 'trampoline_probe_handler' [-Wmissing-prototypes]
> > 399 | int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
> > | ^~~~~~~~~~~~~~~~~~~~~~~~
> > arch/ia64/kernel/kprobes.c: In function 'trampoline_probe_handler':
> > >> arch/ia64/kernel/kprobes.c:401:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'? [-Werror=implicit-function-declaration]
> > 401 | regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > | kretprobe_trampoline
> > cc1: some warnings being treated as errors
>
> This seems that the upstream commit e792ff804f49720ce003b3e4c618b5d996256a18
> has been picked to the stable-5.4.y tree accidentally.
> That is a part of lockless kretprobe series and should not be picked to
> the stable tree.
>
> Greg, can you revert commit 77fa5e15c933a1ec812de61ad709c00aa51e96ae ?
> (Or should I send revert patch?)

I can revert it, thanks.

greg k-h