diff options
| author | Max Filippov <jcmvbkbc@gmail.com> | 2018-01-05 14:27:58 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-02-16 20:09:47 +0100 |
| commit | 1c11f153eb35260b3baab5996d7aa9e974dbb5dd (patch) | |
| tree | 9e763f023b910eb956e25e5ffe776d41383d791b /fs/btrfs/inode.c | |
| parent | 4bd9d85ab3db74527d7db46874a93459e6c0cee2 (diff) | |
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>
Diffstat (limited to 'fs/btrfs/inode.c')
0 files changed, 0 insertions, 0 deletions
