linux/arch/arm64
Will Deacon 599f528a90 arm64: compat: fix stxr failure case in SWP emulation
commit 589cb22bbe upstream.

If the STXR instruction fails in the SWP emulation code, we leave *data
overwritten with the loaded value, therefore corrupting the data written
by a subsequent, successful attempt.

This patch re-jigs the code so that we only write back to *data once we
know that the update has happened.

Fixes: bd35a4adc4 ("arm64: Port SWP/SWPB emulation support from arm")
Reported-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reported-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-11-09 14:33:39 -08:00
..
boot - dts: mt8173: fix compatible string 2015-06-01 17:06:51 +02:00
configs ARM: SoC 64-bit changes for v4.1 2015-04-22 09:23:58 -07:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-05-11 11:05:13 -07:00
include arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-11-09 14:33:39 -08:00
kernel arm64: compat: fix stxr failure case in SWP emulation 2015-11-09 14:33:39 -08:00
kvm arm64: KVM: Disable virtual timer even if the guest is not using it 2015-09-29 19:26:01 +02:00
lib arm64: __clear_user: handle exceptions on strb 2014-11-13 15:21:26 +00:00
mm arm64: readahead: fault retry breaks mmap file read random detection 2015-10-22 14:43:25 -07:00
net arm64: bpf: fix endianness conversion bugs 2015-08-03 09:29:18 -07:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig arm64: errata: add module build workaround for erratum #843419 2015-09-29 19:26:00 +02:00
Kconfig.debug coresight: moving to new "hwtracing" directory 2015-04-03 16:17:04 +02:00
Makefile arm64: errata: use KBUILD_CFLAGS_MODULE for erratum #843419 2015-10-27 09:51:54 +09:00