Re: [PATCH v11 3/6] LoongArch: Add kretprobe support

From: Tiezhu Yang
Date: Sun Jan 15 2023 - 22:19:34 EST




On 01/15/2023 07:17 PM, kernel test robot wrote:
Hi Tiezhu,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.2-rc3 next-20230113]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Tiezhu-Yang/LoongArch-Simulate-branch-and-PC-instructions/20230114-173012
patch link: https://lore.kernel.org/r/1673688444-24251-4-git-send-email-yangtiezhu%40loongson.cn
patch subject: [PATCH v11 3/6] LoongArch: Add kretprobe support
config: loongarch-allmodconfig
compiler: loongarch64-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://github.com/intel-lab-lkp/linux/commit/da766ea35a574bece74a5068aad708b5773b2981
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Tiezhu-Yang/LoongArch-Simulate-branch-and-PC-instructions/20230114-173012
git checkout da766ea35a574bece74a5068aad708b5773b2981
# 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=loongarch olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash arch/loongarch/kernel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

Note: functions only called from assembly code should be annotated with the asmlinkage attribute
All warnings (new ones prefixed by >>):

arch/loongarch/kernel/kprobes.c:376:14: warning: no previous prototype for 'trampoline_probe_handler' [-Wmissing-prototypes]
376 | void __used *trampoline_probe_handler(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~


vim +/trampoline_probe_handler +376 arch/loongarch/kernel/kprobes.c

374
375 /* Called from __kretprobe_trampoline */
> 376 void __used *trampoline_probe_handler(struct pt_regs *regs)
377 {
378 return (void *)kretprobe_trampoline_handler(regs, NULL);
379 }
380 NOKPROBE_SYMBOL(trampoline_probe_handler);
381


Thanks for the report, I can reproduce it when make W=1
and also can silence it when declare the prototype

void *trampoline_probe_handler(struct pt_regs *regs);

in arch/loongarch/include/asm/kprobes.h

Let me wait for some time, if no more comments, I will
update this patch and then send v12.

Thanks,
Tiezhu