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 <m...@ellerman.id.au>
Applied to powerpc fixes. https://git.kernel.org/powerpc/c/501a78cbc17c329fabf8e9750a1e9a cheers