Re: [PATCH v9 23/42] Documentation/x86: Add CET shadow stack description

From: Edgecombe, Rick P
Date: Thu Jul 06 2023 - 12:59:55 EST


On Thu, 2023-07-06 at 15:24 +0100, Mark Brown wrote:
> On Thu, Jul 06, 2023 at 02:14:40PM +0100,
> szabolcs.nagy@xxxxxxx wrote:
> > The 07/05/2023 20:29, Mark Brown wrote:
>
> > > Push and pop are one control, you get both or neither.
>
> > gcspopm is always available (esentially *ssp++, this is used
> > for longjmp).
>
> Ah, sorry - I misremembered there.  You're right, it's only push that
> we
> have control over.

Ah, ok! So if you are not planning to enable the push mode then the
features are pretty well aligned, except:
- On x86 it is possible to switch stacks without leaving a token 
behind.
- The GCSPOPM/INCSSP looping may require longer loops on ARM 
because it only pops one at at time.

If you are not going to use GCSPUSHM by default, then I think we
*should* be able to have some unified set of rules for developers for
glibc behaviors at least.