Hi,
On Thu, Sep 25, 2025 at 08:40:56PM +0000, Edgecombe, Rick P wrote:
On Sun, 2025-09-21 at 14:21 +0100, Mark Brown wrote:
During the discussion of the clone3() support for shadow stacks concerns were raised from the glibc side that since it is not possible to reuse the allocated shadow stack[1]. This means that the benefit of being able ...
Security-wise, it seems reasonable that if you are leaving a shadow stack, that you could leave a token behind. But for the userspace scheme to back up the SSP by doing a longjmp() or similar I have some doubts. IIRC there were some cross stack edge cases that we never figured out how to handle.
As far as re-using allocated shadow stacks, there is always the option to enable WRSS (or similar) to write the shadow stack as well as longjmp at will.
I think we should see a fuller solution from the glibc side before adding new kernel features like this. (apologies if I missed it).
What do you mean by "a fuller solution from the glibc side"? A solution for re-using shadow stacks? Right now Glibc cannot do anything about shadow stacks for new threads because clone3 interface doesn't allow it.
Thanks, Yury