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

Christian Zigotzky chzigotzky at xenosoft.de
Sun May 17 20:12:18 AEST 2020


Hi All,

This patch wasn't included in the PowerPC fixes 5.7-4. Please add it.

Thanks,
Christian


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