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

Christian Zigotzky chzigotzky at xenosoft.de
Mon May 18 17:05:11 AEST 2020


OK, thanks.

> On 18. May 2020, at 04:40, Michael Ellerman <mpe at ellerman.id.au> wrote:
> 
> Christian Zigotzky <chzigotzky at xenosoft.de> 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:
>>> 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 <chzigotzky at xenosoft.de>
>>> Tested-by: Christian Zigotzky <chzigotzky at xenosoft.de>
>>> Signed-off-by: Nicholas Piggin <npiggin at 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();


More information about the Linuxppc-dev mailing list