Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 24 Mar 2017 21:22:42 +0100 | From | Peter Zijlstra <> | Subject | Re: locking/atomic: Introduce atomic_try_cmpxchg() |
| |
On Fri, Mar 24, 2017 at 11:45:46AM -0700, Andy Lutomirski wrote: > After playing with it a bit, I found some of the problem: you're > passing val into EXCEPTION_VALUE, which keeps it live. If I get rid > of that, the generated code is great.
Right, so I needed that because I land on ud2 through 2 different paths:
- newly saturated - use-after-free
And the exception handler can figure out which of the two by looking at the variable, but then of course, it needs to be life.
For the full horror of how to do this, look here:
http://paste.debian.net/924190/
But I didn't just show you that, so you can't blame me for any damage that might've done you.
| ![\](/images/icornerr.gif) |