Hi Christophe, I love your patch! Perhaps something to improve:
[auto build test WARNING on powerpc/next] [also build test WARNING on v5.14-rc6 next-20210819] [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] url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-Remove-MSR_PR-check-in-interrupt_exit_-user-kernel-_prepare/20210819-143251 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-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://github.com/0day-ci/linux/commit/797b527549df3f1f8e4d9f2bafeb5fe5ec810409 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/powerpc-Remove-MSR_PR-check-in-interrupt_exit_-user-kernel-_prepare/20210819-143251 git checkout 797b527549df3f1f8e4d9f2bafeb5fe5ec810409 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All warnings (new ones prefixed by >>): In file included from arch/powerpc/mm/book3s64/slb.c:13: arch/powerpc/mm/book3s64/slb.c: In function '____do_slb_fault': arch/powerpc/include/asm/interrupt.h:398:29: error: invalid storage class for function '____do_bad_slb_fault' 398 | static __always_inline void ____##func(struct pt_regs *regs); \ | ^~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ >> arch/powerpc/include/asm/interrupt.h:398:1: warning: ISO C90 forbids mixed >> declarations and code [-Wdeclaration-after-statement] 398 | static __always_inline void ____##func(struct pt_regs *regs); \ | ^~~~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ >> arch/powerpc/include/asm/interrupt.h:400:36: warning: 'externally_visible' >> attribute have effect only on public objects [-Wattributes] 400 | interrupt_handler void func(struct pt_regs *regs) \ | ^~~~~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/mm/book3s64/slb.c: In function 'do_bad_slb_fault': arch/powerpc/include/asm/interrupt.h:406:9: error: implicit declaration of function '____do_bad_slb_fault'; did you mean 'do_bad_slb_fault'? [-Werror=implicit-function-declaration] 406 | ____##func (regs); \ | ^~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/kprobes.h:5, from arch/powerpc/include/asm/interrupt.h:73, from arch/powerpc/mm/book3s64/slb.c:13: arch/powerpc/mm/book3s64/slb.c: In function '____do_slb_fault': include/asm-generic/kprobes.h:14:29: error: initializer element is not constant 14 | _kbl_addr_##fname = (unsigned long)fname; | ^ include/asm-generic/kprobes.h:15:33: note: in expansion of macro '__NOKPROBE_SYMBOL' 15 | # define NOKPROBE_SYMBOL(fname) __NOKPROBE_SYMBOL(fname) | ^~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/interrupt.h:410:1: note: in expansion of macro 'NOKPROBE_SYMBOL' 410 | NOKPROBE_SYMBOL(func); \ | ^~~~~~~~~~~~~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/mm/book3s64/slb.c:13: arch/powerpc/include/asm/interrupt.h:412:29: error: invalid storage class for function '____do_bad_slb_fault' 412 | static __always_inline void ____##func(struct pt_regs *regs) | ^~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/interrupt.h:412:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 412 | static __always_inline void ____##func(struct pt_regs *regs) | ^~~~~~ arch/powerpc/mm/book3s64/slb.c:872:1: note: in expansion of macro 'DEFINE_INTERRUPT_HANDLER' 872 | DEFINE_INTERRUPT_HANDLER(do_bad_slb_fault) | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/mm/book3s64/slb.c:886:1: error: expected declaration or statement at end of input 886 | } | ^ arch/powerpc/mm/book3s64/slb.c:887: error: control reaches end of non-void function [-Werror=return-type] cc1: some warnings being treated as errors vim +398 arch/powerpc/include/asm/interrupt.h 8d41fc618ab804 Nicholas Piggin 2021-01-30 380 8d41fc618ab804 Nicholas Piggin 2021-01-30 381 /** 8d41fc618ab804 Nicholas Piggin 2021-01-30 382 * DECLARE_INTERRUPT_HANDLER - Declare synchronous interrupt handler function 8d41fc618ab804 Nicholas Piggin 2021-01-30 383 * @func: Function name of the entry point 8d41fc618ab804 Nicholas Piggin 2021-01-30 384 */ 8d41fc618ab804 Nicholas Piggin 2021-01-30 385 #define DECLARE_INTERRUPT_HANDLER(func) \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 386 __visible void func(struct pt_regs *regs) 8d41fc618ab804 Nicholas Piggin 2021-01-30 387 8d41fc618ab804 Nicholas Piggin 2021-01-30 388 /** 8d41fc618ab804 Nicholas Piggin 2021-01-30 389 * DEFINE_INTERRUPT_HANDLER - Define synchronous interrupt handler function 8d41fc618ab804 Nicholas Piggin 2021-01-30 390 * @func: Function name of the entry point 8d41fc618ab804 Nicholas Piggin 2021-01-30 391 * 8d41fc618ab804 Nicholas Piggin 2021-01-30 392 * @func is called from ASM entry code. 8d41fc618ab804 Nicholas Piggin 2021-01-30 393 * 8d41fc618ab804 Nicholas Piggin 2021-01-30 394 * The macro is written so it acts as function definition. Append the 8d41fc618ab804 Nicholas Piggin 2021-01-30 395 * body with a pair of curly brackets. 8d41fc618ab804 Nicholas Piggin 2021-01-30 396 */ 8d41fc618ab804 Nicholas Piggin 2021-01-30 397 #define DEFINE_INTERRUPT_HANDLER(func) \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 @398 static __always_inline void ____##func(struct pt_regs *regs); \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 399 \ e4bb64c7a42e61 Nicholas Piggin 2021-02-11 @400 interrupt_handler void func(struct pt_regs *regs) \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 401 { \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 402 struct interrupt_state state; \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 403 \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 404 interrupt_enter_prepare(regs, &state); \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 405 \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 406 ____##func (regs); \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 407 \ 25b7e6bb743ca5 Nicholas Piggin 2021-01-30 408 interrupt_exit_prepare(regs, &state); \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 409 } \ e4bb64c7a42e61 Nicholas Piggin 2021-02-11 410 NOKPROBE_SYMBOL(func); \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 411 \ 8d41fc618ab804 Nicholas Piggin 2021-01-30 412 static __always_inline void ____##func(struct pt_regs *regs) 8d41fc618ab804 Nicholas Piggin 2021-01-30 413 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip