Re: [PATCH v3 5/6] powerpc/fsl_booke/64: clear the original kernel if randomized
From: Scott Wood <oss@buserror.net>
Date: 2020-03-04 21:53:15
Also in:
lkml
From: Scott Wood <oss@buserror.net>
Date: 2020-03-04 21:53:15
Also in:
lkml
On Thu, 2020-02-06 at 10:58 +0800, Jason Yan wrote:
The original kernel still exists in the memory, clear it now. Signed-off-by: Jason Yan <yanaijie@huawei.com> Cc: Scott Wood <oss@buserror.net> Cc: Diana Craciun <redacted> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Christophe Leroy <redacted> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <redacted> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Kees Cook <redacted> --- arch/powerpc/mm/nohash/kaslr_booke.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/arch/powerpc/mm/nohash/kaslr_booke.cb/arch/powerpc/mm/nohash/kaslr_booke.c index c6f5c1db1394..ed1277059368 100644--- a/arch/powerpc/mm/nohash/kaslr_booke.c +++ b/arch/powerpc/mm/nohash/kaslr_booke.c@@ -378,8 +378,10 @@ notrace void __init kaslr_early_init(void *dt_ptr,phys_addr_t size) unsigned int *__kaslr_offset = (unsigned int *)(KERNELBASE + 0x58); unsigned int *__run_at_load = (unsigned int *)(KERNELBASE + 0x5c); - if (*__run_at_load == 1) + if (*__run_at_load == 1) { + kaslr_late_init(); return; + }
What if you're here because kexec set __run_at_load (or CONFIG_RELOCATABLE_TEST is enabled), not because kaslr happened? -Scott