Re: [PATCH] powerpc/syscall: Force inlining of __prep_irq_for_enabled_exit()
From: Nicholas Piggin
Date: Thu Feb 25 2021 - 05:55:07 EST
Excerpts from Christophe Leroy's message of February 24, 2021 4:34 pm:
>
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.
>
>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Acked-by: Nicholas Piggin <npiggin@xxxxxxxxx>
>
Fixes: 344bb20b159d ("powerpc/syscall: Make interrupt.c buildable on PPC32")
>
---
>
arch/powerpc/kernel/interrupt.c | 2 +-
>
1 file changed, 1 insertion(+), 1 deletion(-)
>
>
diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
>
index 398cd86b6ada..2ef3c4051bb9 100644
>
--- a/arch/powerpc/kernel/interrupt.c
>
+++ b/arch/powerpc/kernel/interrupt.c
>
@@ -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 /
>
* 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 */
>
trace_hardirqs_on();
>
--
>
2.25.0
>
>