[PATCH 2/3] powerpc: Refactor verification of MSR_RI
kernel test robot
lkp at intel.com
Thu Aug 19 23:23:15 AEST 2021
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 <lkp at 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-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 73369 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20210819/ace9b30c/attachment-0001.gz>
More information about the Linuxppc-dev
mailing list