[PATCH v6 14/15] arm64: implement Shadow Call Stack

Sami Tolvanen samitolvanen at google.com
Thu Jan 16 13:57:53 PST 2020


On Thu, Jan 16, 2020 at 10:24 AM Will Deacon <will at kernel.org> wrote:
> >       .macro  irq_stack_entry
> >       mov     x19, sp                 // preserve the original sp
> > +#ifdef CONFIG_SHADOW_CALL_STACK
> > +     mov     x20, x18                // preserve the original shadow stack
> > +#endif
>
> Hmm, not sure about corrupting x20 here. Doesn't it hold the PMR value from
> kernel_entry?

You're right, and it's used in el1_irq after irq_handler if
CONFIG_ARM64_PSEUDO_NMI is enabled. Thanks for pointing this out.
Looks like one of x24-x29 should be safe here, and the comment needs
to be updated to explain why x20-x23 shouldn't be corrupted.

Sami



More information about the linux-arm-kernel mailing list