Re: [PATCH 06/21] arm64: Store 'current' in TPIDRRO_EL0 instead of SP_EL0

From: Will Deacon

Date: Fri Sep 11 2026 - 09:04:12 EST


On Tue, Sep 08, 2026 at 02:19:50PM +0100, David Laight wrote:
> On Mon, 7 Sep 2026 17:42:31 +0100
> Will Deacon <will@xxxxxxxxxx> wrote:
>
> > To make SP_EL0 available to point at the per-cpu kernel overflow stack,
> > we must relocate 'current' elsewhere. With TPIDRRO_EL0 now restored late
> > in the return-to-user path, we can otherwise use it to hold 'current'
> > and update the various accessors accordingly.
> >
> > Move 'current' from SP_EL0 to TPIDRRO_EL0.
>
> Is it worth having a #define for the name of the register that stores 'current'?
> (And probably the other similar registers.)
> That would avoid the bisection problems with the following two patches
> and might make other code a bit more readable.

We don't tend to reallocate 'current' all that often, so I don't think it's
worth the indirection tbh. The following patches are to a GDB script and
a bpf selftest, so I'm not going to lose sleep about bisection.

Will