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

Michael Ellerman mpe at ellerman.id.au
Mon May 18 12:40:24 AEST 2020


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