Re: [PATCH v2] powerpc: fix boot on BOOK3S_32 with CONFIG_STRICT_KERNEL_RWX
From: Meelis Roos
Date: Tue Nov 21 2017 - 12:28:33 EST
> 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@xxxxxxxx>
> Cc: Balbir Singh <bsingharora@xxxxxxxxx>
> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
> ---
> 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@xxxxxxxx)