Message ID | 53f3a1f719441761000c41154602bf097d4350b5.1614148356.git.christophe.leroy@csgroup.eu (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | powerpc/syscall: Force inlining of __prep_irq_for_enabled_exit() | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/merge (626a6c3d2e20da80aaa710104f34ea6037b28b33) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/next (6895c5ba7bdcc55eacad03cf309ab23be63b9cac) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch linus/master (92bf22614b21a2706f4993b278017e437f7785b3) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/fixes (24321ac668e452a4942598533d267805f291fdc9) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch linux-next (1e0d27fce010b0a4a9e595506b6ede75934c31be) |
snowpatch_ozlabs/apply_patch | fail | Failed to apply to any branch |
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@intel.com> > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Acked-by: Nicholas Piggin <npiggin@gmail.com> > 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 > >
On Wed, 24 Feb 2021 06:34:22 +0000 (UTC), Christophe Leroy wrote: > 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. > > [...] Applied to powerpc/fixes. [1/1] powerpc/syscall: Force inlining of __prep_irq_for_enabled_exit() https://git.kernel.org/powerpc/c/91b6c5dbe9e072dbdb181eed89c5c824e92ac0f5 cheers
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();
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@intel.com> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Fixes: 344bb20b159d ("powerpc/syscall: Make interrupt.c buildable on PPC32") --- arch/powerpc/kernel/interrupt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)