Commit 91b6c5db authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman

powerpc/syscall: Force inlining of __prep_irq_for_enabled_exit()

As reported by kernel test robot, a randconfig with high amount of
debuging options can lead to build failure for undefined reference
to replay_soft_interrupts() on ppc32.

This is due to gcc not seeing that __prep_irq_for_enabled_exit()
always returns true on ppc32 because it doesn't inline it for
some reason.

Force inlining of __prep_irq_for_enabled_exit() to fix the build.

Fixes: 344bb20b ("powerpc/syscall: Make interrupt.c buildable on PPC32")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/53f3a1f719441761000c41154602bf097d4350b5.1614148356.git.christophe.leroy@csgroup.eu
parent c119565a
...@@ -149,7 +149,7 @@ notrace long system_call_exception(long r3, long r4, long r5, ...@@ -149,7 +149,7 @@ notrace long system_call_exception(long r3, long r4, long r5,
* enabled when the interrupt handler returns (indicating a process-context / * enabled when the interrupt handler returns (indicating a process-context /
* synchronous interrupt) then irqs_enabled should be true. * synchronous interrupt) then irqs_enabled should be true.
*/ */
static notrace inline bool __prep_irq_for_enabled_exit(bool clear_ri) static notrace __always_inline bool __prep_irq_for_enabled_exit(bool clear_ri)
{ {
/* This must be done with RI=1 because tracing may touch vmaps */ /* This must be done with RI=1 because tracing may touch vmaps */
trace_hardirqs_on(); trace_hardirqs_on();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment