Thread (5 messages) 5 messages, 4 authors, 2020-06-09

Re: [PATCH] powerpc/64s: Fix early_init_mmu section mismatch

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2020-05-18 02:41:52

Christian Zigotzky [off-list ref] writes:
Hi All,

This patch wasn't included in the PowerPC fixes 5.7-4. Please add it.
It's not an important bug. I'll take the patch for v5.8

cheers
On 29 April 2020 at 09:02 am, Nicholas Piggin wrote:
quoted
Christian reports:

   MODPOST vmlinux.o
   WARNING: modpost: vmlinux.o(.text.unlikely+0x1a0): Section mismatch in
   reference from the function .early_init_mmu() to the function
   .init.text:.radix__early_init_mmu()
   The function .early_init_mmu() references
   the function __init .radix__early_init_mmu().
   This is often because .early_init_mmu lacks a __init
   annotation or the annotation of .radix__early_init_mmu is wrong.

   WARNING: modpost: vmlinux.o(.text.unlikely+0x1ac): Section mismatch in
   reference from the function .early_init_mmu() to the function
   .init.text:.hash__early_init_mmu()
   The function .early_init_mmu() references
   the function __init .hash__early_init_mmu().
   This is often because .early_init_mmu lacks a __init
   annotation or the annotation of .hash__early_init_mmu is wrong.

The compiler is uninlining early_init_mmu and not putting it in an init
section because there is no annotation. Add it.

Reported-by: Christian Zigotzky <redacted>
Tested-by: Christian Zigotzky <redacted>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
  arch/powerpc/include/asm/book3s/64/mmu.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h
index bb3deb76c951..3ffe5f967483 100644
--- a/arch/powerpc/include/asm/book3s/64/mmu.h
+++ b/arch/powerpc/include/asm/book3s/64/mmu.h
@@ -208,7 +208,7 @@ void hash__early_init_devtree(void);
  void radix__early_init_devtree(void);
  extern void hash__early_init_mmu(void);
  extern void radix__early_init_mmu(void);
-static inline void early_init_mmu(void)
+static inline void __init early_init_mmu(void)
  {
  	if (radix_enabled())
  		return radix__early_init_mmu();
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help