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.