linux/arch
Max Filippov e68d638e49 xtensa: fix futex_atomic_cmpxchg_inatomic
commit ca47480921 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:23:07 +01:00
..
alpha alpha: fix formating of stack content 2018-02-16 20:23:07 +01:00
arc .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
arm arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls 2018-02-16 20:23:03 +01:00
arm64 crypto: hash - annotate algorithms taking optional key 2018-02-16 20:23:00 +01:00
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:10:34 +01:00
c6x License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
cris License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
frv License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
h8300 License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
hexagon License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
ia64 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-05 12:14:50 -08:00
m32r kernel/exit.c: export abort() to modules 2018-02-13 10:19:49 +01:00
m68k m68k: fix ColdFire node shift size calculation 2017-12-10 13:40:39 +01:00
metag .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
microblaze .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
mips .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
mn10300 License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
nios2 .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
openrisc signal/openrisc: Fix do_unaligned_access to send the proper signal 2018-02-16 20:23:06 +01:00
parisc parisc: qemu idle sleep support 2018-01-10 09:31:22 +01:00
powerpc KVM: PPC: Book3S PR: Fix broken select due to misspelling 2018-02-16 20:23:03 +01:00
s390 crypto: hash - annotate algorithms taking optional key 2018-02-16 20:23:00 +01:00
score License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
sh signal/sh: Ensure si_signo is initialized in do_divide_error 2018-02-16 20:23:06 +01:00
sparc crypto: hash - annotate algorithms taking optional key 2018-02-16 20:23:00 +01:00
tile fcntl: don't cap l_start and l_end values for F_GETLK64 in compat syscall 2017-12-17 15:07:59 +01:00
um arch, mm: Allow arch_dup_mmap() to fail 2017-12-29 17:53:43 +01:00
unicore32 kernel/exit.c: export abort() to modules 2018-02-13 10:19:49 +01:00
x86 KVM: nVMX: Fix bug of injecting L2 exception into L1 2018-02-16 20:23:03 +01:00
xtensa xtensa: fix futex_atomic_cmpxchg_inatomic 2018-02-16 20:23:07 +01:00
.gitignore
Kconfig kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y 2017-12-10 13:40:40 +01:00