On Fri, Dec 01, 2017 at 01:53:01PM +0000, Mark Rutland wrote:
> On Thu, Nov 30, 2017 at 04:39:41PM +0000, Will Deacon wrote:
> >     .macro kernel_ventry, el, label, regsize = 64
> >     .align 7
> > +#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
> > +   .if     \el == 0
> > +   .if     \regsize == 64
> > +   mrs     x30, tpidrro_el0
> > +   msr     tpidrro_el0, xzr
> > +   .else
> > +   mov     x30, xzr
> 
> I guess that's just to prevent acccidental leaks if we dump registers
> somewhere, since we used x30 as a scratch register?

Indeed. I don't have a concrete example, but I was worried about things
like perf and ptrace, which might allow you to get at the AArch64 register
state for a compat task so it felt like a good idea to zero this.

Will

Reply via email to