powerpc/64s: Fix section mismatch warnings from setup_rfi_flush()

Michael Ellerman patch-notifications at ellerman.id.au
Thu Apr 12 00:49:29 AEST 2018


On Thu, 2018-04-05 at 12:49:13 UTC, Michael Ellerman wrote:
> The recent LPM changes to setup_rfi_flush() are causing some section
> mismatch warnings because we removed the __init annotation on
> setup_rfi_flush():
> 
>   The function setup_rfi_flush() references
>   the function __init ppc64_bolted_size().
>   the function __init memblock_alloc_base().
> 
> The references are actually in init_fallback_flush(), but that is
> inlined into setup_rfi_flush().
> 
> These references are safe because:
>  - only pseries calls setup_rfi_flush() at runtime
>  - pseries always passes L1D_FLUSH_FALLBACK at boot
>  - so the fallback flush area will always be allocated
>  - so the check in init_fallback_flush() will always return early:
>    /* Only allocate the fallback flush area once (at boot time). */
>    if (l1d_flush_fallback_area)
>    	return;
> 
>  - and therefore we won't actually call the freed init routines.
> 
> We should rework the code to make it safer by default rather than
> relying on the above, but for now as a quick-fix just add a __ref
> annotation to squash the warning.
> 
> Fixes: abf110f3e1ce ("powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again")
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/501a78cbc17c329fabf8e9750a1e9a

cheers


More information about the Linuxppc-dev mailing list