Message ID | 20200206025825.22934-5-yanaijie@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | implement KASLR for powerpc/fsl_booke/64 | expand |
On Thu, 2020-02-06 at 10:58 +0800, Jason Yan wrote: > The BSS section has already cleared out in the first pass. No need to > clear it again. This can save some time when booting with KASLR > enabled. > > Signed-off-by: Jason Yan <yanaijie@huawei.com> > Cc: Scott Wood <oss@buserror.net> > Cc: Diana Craciun <diana.craciun@nxp.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Christophe Leroy <christophe.leroy@c-s.fr> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Cc: Paul Mackerras <paulus@samba.org> > Cc: Nicholas Piggin <npiggin@gmail.com> > Cc: Kees Cook <keescook@chromium.org> > --- > arch/powerpc/kernel/head_64.S | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S > index 744624140fb8..8c644e7c3eaf 100644 > --- a/arch/powerpc/kernel/head_64.S > +++ b/arch/powerpc/kernel/head_64.S > @@ -914,6 +914,13 @@ start_here_multiplatform: > bl relative_toc > tovirt(r2,r2) > > + /* Do not clear the BSS for the second pass if randomized */ > + LOAD_REG_ADDR(r3, kernstart_virt_addr) > + lwz r3,0(r3) > + LOAD_REG_IMMEDIATE(r4, KERNELBASE) > + cmpw r3,r4 > + bne 4f These are 64-bit values. -Scott
在 2020/3/5 5:49, Scott Wood 写道: > On Thu, 2020-02-06 at 10:58 +0800, Jason Yan wrote: >> The BSS section has already cleared out in the first pass. No need to >> clear it again. This can save some time when booting with KASLR >> enabled. >> >> Signed-off-by: Jason Yan <yanaijie@huawei.com> >> Cc: Scott Wood <oss@buserror.net> >> Cc: Diana Craciun <diana.craciun@nxp.com> >> Cc: Michael Ellerman <mpe@ellerman.id.au> >> Cc: Christophe Leroy <christophe.leroy@c-s.fr> >> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> >> Cc: Paul Mackerras <paulus@samba.org> >> Cc: Nicholas Piggin <npiggin@gmail.com> >> Cc: Kees Cook <keescook@chromium.org> >> --- >> arch/powerpc/kernel/head_64.S | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S >> index 744624140fb8..8c644e7c3eaf 100644 >> --- a/arch/powerpc/kernel/head_64.S >> +++ b/arch/powerpc/kernel/head_64.S >> @@ -914,6 +914,13 @@ start_here_multiplatform: >> bl relative_toc >> tovirt(r2,r2) >> >> + /* Do not clear the BSS for the second pass if randomized */ >> + LOAD_REG_ADDR(r3, kernstart_virt_addr) >> + lwz r3,0(r3) >> + LOAD_REG_IMMEDIATE(r4, KERNELBASE) >> + cmpw r3,r4 >> + bne 4f > > These are 64-bit values. > Oh yes, will fix. Thanks. > -Scott > > > > . >
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 744624140fb8..8c644e7c3eaf 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S @@ -914,6 +914,13 @@ start_here_multiplatform: bl relative_toc tovirt(r2,r2) + /* Do not clear the BSS for the second pass if randomized */ + LOAD_REG_ADDR(r3, kernstart_virt_addr) + lwz r3,0(r3) + LOAD_REG_IMMEDIATE(r4, KERNELBASE) + cmpw r3,r4 + bne 4f + /* Clear out the BSS. It may have been done in prom_init, * already but that's irrelevant since prom_init will soon * be detached from the kernel completely. Besides, we need
The BSS section has already cleared out in the first pass. No need to clear it again. This can save some time when booting with KASLR enabled. Signed-off-by: Jason Yan <yanaijie@huawei.com> Cc: Scott Wood <oss@buserror.net> Cc: Diana Craciun <diana.craciun@nxp.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Christophe Leroy <christophe.leroy@c-s.fr> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Kees Cook <keescook@chromium.org> --- arch/powerpc/kernel/head_64.S | 7 +++++++ 1 file changed, 7 insertions(+)