[PATCH 1/2] Linux/x86: Update cancel_jmp_buf to match __jmp_buf_tag [BZ #22563]
Florian Weimer
fweimer@redhat.com
Thu Dec 7 19:14:00 GMT 2017
On 12/07/2017 08:12 PM, H.J. Lu wrote:
>> Sorry, what exactly is stored on the shadow stack? I assumed it was for
>> verification of the targets of ret instructions.
>>
>> In this case, don't need to unwind the shadow stack (or preserve its
>> contents) because there are no returns from existing stack frames once
>> cancellation has started.
>>
> Shadow stack is the similar to normal call stack without local variables.
> SHSTK checks the return address of EACH "RET" instruction against
> shadow stack.
Then the shadow stack contents at the time of cancellation does not
matter because all future RET instructions on this thread will match
CALLs which happened *after* cancellation. (In other words, I still
think I'm right about this.)
Thanks,
Florian
More information about the Libc-alpha
mailing list