Messages in this thread | | | Subject | Re: [PATCH 1/4] glibc: Perform rseq(2) registration at C startup and thread creation (v7) | From | Carlos O'Donell <> | Date | Fri, 5 Apr 2019 11:40:16 -0400 |
| |
On 4/5/19 5:16 AM, Florian Weimer wrote: > * Carlos O'Donell: >> It is valuable that it be a trap, particularly for constant pools because >> it means that a jump into the constant pool will trap. > > Sorry, I don't understand why this matters in this context. Would you > please elaborate?
Sorry, I wasn't very clear.
My point is only that any accidental jumps, either with off-by-one (like you fixed in gcc/glibc's signal unwinding most recently), result in a process fault rather than executing RSEQ_SIG as a valid instruction *and then* continuing onwards to the handler.
A process fault is achieved either by a trap, or an invalid instruction, or a privileged insn (like suggested for MIPS in this thread).
-- Cheers, Carlos.
| |