This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2] Linux/x86: Update cancel_jmp_buf to match __jmp_buf_tag [BZ #22563]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]