Thread (54 messages) 54 messages, 6 authors, 2023-07-12

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

From: szabolcs.nagy@arm.com <hidden>
Date: 2023-06-14 10:44:36
Also in: linux-arch, linux-doc, linux-mm, lkml

The 06/13/2023 19:57, Edgecombe, Rick P wrote:
On Tue, 2023-06-13 at 18:57 +0100, Mark Brown wrote:
quoted
quoted
quoted
quoted
For my part, the thing I would really like to see unified as
much > > as
possible is at the app developer's interface (glibc/gcc). The
idea
would be to make it easy for app developers to know if their
app
supports shadow stack. There will probably be some differences,
but > > it
would be great if there was mostly the same behavior and a
small > > list
of differences. I'm thinking about the behavior of longjmp(),
swapcontext(), etc.
Yes, very much so.  sigaltcontext() too.
For alt shadow stack's, this is what I came up with:
https://lore.kernel.org/lkml/20220929222936.14584-40-rick.p.edgecombe@intel.com/ (local)

Unfortunately it can't work automatically with sigaltstack(). Since it
has to be a new thing anyway, it's been left for the future. I guess
that might have a better chance of being cross arch.
i dont think you can add sigaltshstk later.

libgcc already has unwinder code for shstk and that cannot handle
discontinous shadow stack. (may affect longjmp too depending on
how it is implemented)

we can change the unwinder now to know how to switch shstk when
it unwinds the signal frame and backport that to systems that
want to support shstk. or we can introduce a new elf marking
scheme just for sigaltshstk when it is added so incompatibility
can be detected. or we simply not support unwinding with
sigaltshstk which would make it pretty much useless in practice.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help