[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