Max Filippov 1c11f153eb xtensa: fix futex_atomic_cmpxchg_inatomic
commit ca47480921587ae30417dd234a9f79af188e3666 upstream.

Return 0 if the operation was successful, not the userspace memory
value. Check that userspace value equals passed oldval, not itself.
Don't update *uval if the value wasn't read from userspace memory.

This fixes process hang due to infinite loop in futex_lock_pi.
It also fixes a bunch of glibc tests nptl/tst-mutexpi*.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-16 20:09:47 +01:00
..
2016-09-24 10:07:43 +02:00
2016-12-15 08:49:23 -08:00
2018-01-31 12:06:12 +01:00
2015-11-11 09:16:10 -08:00