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
> 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)
> - 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 <m...@ellerman.id.au>
Applied to powerpc fixes.