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:
quoted
.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