[PATCH v2] powerpc: fix boot on BOOK3S_32 with CONFIG_STRICT_KERNEL_RWX

Meelis Roos mroos at linux.ee
Wed Nov 22 04:28:24 AEDT 2017


> On powerpc32, patch_instruction() is called by apply_feature_fixups()
> which is called from early_init()
> 
> There is the following note in front of early_init():
>  * Note that the kernel may be running at an address which is different
>  * from the address that it was linked at, so we must use RELOC/PTRRELOC
>  * to access static data (including strings).  -- paulus
> 
> Therefore, slab_is_available() cannot be called yet, and
> text_poke_area must be addressed with PTRRELOC()
> 
> Fixes: 37bc3e5fd764f ("powerpc/lib/code-patching: Use alternate map
> for patch_instruction()")
> Reported-by: Meelis Roos <mroos at linux.ee>
> Cc: Balbir Singh <bsingharora at gmail.com>
> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
> ---
>  v2: Added missing asm/setup.h

It works - thank you! Tested on top of 4.14.0.

For wider powerpc audience: this warning-like INFO bit is present 
independently of theis patch. Is it dangerous for some configuration?

INFO: Uncompressed kernel (size 0x5d6c54) overlaps the address of the wrapper(0x400000)
INFO: Fixing the link_address of wrapper to (0x600000)


-- 
Meelis Roos (mroos at linux.ee)


More information about the Linuxppc-dev mailing list