Re: [PATCH 04/35] arm64/gcs: Document the ABI for Guarded Control Stacks

From: Mark Brown
Date: Wed Jul 19 2023 - 09:25:57 EST


On Wed, Jul 19, 2023 at 02:44:37PM +0300, Mike Rapoport wrote:
> On Sun, Jul 16, 2023 at 10:51:00PM +0100, Mark Brown wrote:

> > +* When set PR_SHADOW_STACK_ENABLE flag allocates a Guarded Control Stack for
>
> 'for' here looks excessive ^

> > + and enables GCS for the thread, enabling the functionality controlled by
> > + GCSPRE0_EL1.{nTR, RVCHKEN, PCRSEL}.

It does scan fine to me as a native speaker.

> > +7. ptrace extensions
> > +---------------------
> > +
> > +* A new regset NT_ARM_GCS is defined for use with PTRACE_GETREGSET and
> > + PTRACE_SETREGSET.
> > +
> > +* Due to the complexity surrounding allocation and deallocation of stakcs and
> > + lack of practical application changes to the GCS configuration via ptrace
> > + are not supported.

> On x86 CRIU needed to be able to temporarily unlock shadow stack features
> to recreate the shadow stack of the thread being restored. I presume CRIU
> will need something like that on arm64 as well.

It would be good to understand why and what exactly is needed here.
I'm guessing the main thing would be stores? It's relatively easy to
add features later, I think I'll just add support for everything except
enable just now.

Attachment: signature.asc
Description: PGP signature