linux-stable/arch/arm64
Will Deacon 9ccdbde185 arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP
commit 03110a5cb2 upstream.

Our futex implementation makes use of LDXR/STXR loops to perform atomic
updates to user memory from atomic context. This can lead to latency
problems if we end up spinning around the LL/SC sequence at the expense
of doing something useful.

Rework our futex atomic operations so that we return -EAGAIN if we fail
to update the futex word after 128 attempts. The core futex code will
reschedule if necessary and we'll try again later.

Cc: <stable@kernel.org>
Fixes: 6170a97460 ("arm64: Atomic operations")
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-10 17:54:11 +02:00
..
boot arm64: dts: rockchip: fix rk3328-roc-cc gmac2io tx/rx_delay 2019-05-08 07:21:45 +02:00
configs arm64: defconfig: Enable TI's AM6 SoC platform 2018-08-29 11:51:26 -07:00
crypto crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine 2019-03-23 20:09:56 +01:00
include arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP 2019-05-10 17:54:11 +02:00
kernel arm64: fix wrong check of on_sdei_stack in nmi context 2019-05-08 07:21:49 +02:00
kvm KVM: arm64: Reset the PMU in preemptible context 2019-05-04 09:20:13 +02:00
lib arm64: lse: remove -fcall-used-x0 flag 2018-11-13 11:08:54 -08:00
mm arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region 2019-04-17 08:38:46 +02:00
net bpf, arm64: save 4 bytes in prologue when ebpf insns came from cbpf 2018-05-14 19:11:45 -07:00
xen arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
Kconfig arm64: mm: always enable CONFIG_HOLES_IN_ZONE 2018-08-31 11:06:45 +01:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.platforms ARM: SoC: late updates 2018-08-25 14:12:36 -07:00
Makefile arm64: relocatable: fix inconsistencies in linker script and options 2019-01-13 09:51:08 +01:00