Re: [PATCH v3 21/36] arm64/mm: Implement map_shadow_stack()

From: Edgecombe, Rick P
Date: Tue Aug 01 2023 - 16:58:10 EST


On Tue, 2023-08-01 at 18:57 +0100, Mark Brown wrote:
> > You don't have to support all the flags actually, you could just
> > support the one mode you already have and reject all other
> > combinations... Then it matches between arch's, and you still have
> > the
> > guaranteed-ish end marker.
>
> Sure, though if we're going to the trouble of checking for the flag
> we
> probably may as well implement it.  I guess x86 is locked in at this
> point by existing userspace.  I guess I'll implement it assuming
> nobody
> from userspace complains, it's trivial for a kernel.

To make sure we are on the same page: What I'm saying is say we do
something like add another flag SHADOW_STACK_SET_MARKER that means add
a marker at the end (making the token off by one frame). Then you can
just reject any flags != (SHADOW_STACK_SET_MARKER |
SHADOW_STACK_SET_TOKEN) value, and leave the rest of the code as is. So
not really implementing anything new. 

Then x86 could use the same flag meanings if/when it implements end
markers. If it doesn't seem worth it, it's not a big deal on my end.
Just seemed that they were needlessly diverging.