linux/arch/s390
Heiko Carstens 7b68273f79 s390/uaccess: get_user() should zero on failure (again)
commit d09c5373e8 upstream.

Commit fd2d2b191f ("s390: get_user() should zero on failure")
intended to fix s390's get_user() implementation which did not zero
the target operand if the read from user space faulted. Unfortunately
the patch has no effect: the corresponding inline assembly specifies
that the operand is only written to ("=") and the previous value is
discarded.

Therefore the compiler is free to and actually does omit the zero
initialization.

To fix this simply change the contraint modifier to "+", so the
compiler cannot omit the initialization anymore.

Fixes: c9ca78415a ("s390/uaccess: provide inline variants of get_user/put_user")
Fixes: fd2d2b191f ("s390: get_user() should zero on failure")
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-04-12 12:41:14 +02:00
..
appldata s390: Remove deprecated create_singlethread_workqueue 2016-09-06 10:59:57 +02:00
boot s390/decompressor: fix initrd corruption caused by bss clear 2017-04-12 12:41:14 +02:00
configs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-10-04 14:05:52 -07:00
crypto s390/crypto: unlock on error in prng_tdes_read() 2017-01-12 11:39:33 +01:00
hypfs s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment 2016-10-28 10:08:58 +02:00
include s390/uaccess: get_user() should zero on failure (again) 2017-04-12 12:41:14 +02:00
kernel s390: use correct input data address for setup_randomness 2017-03-15 10:02:42 +08:00
kvm KVM: s390: Disable dirty log retrieval for UCONTROL guests 2017-03-15 10:02:40 +08:00
lib Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2016-10-14 14:26:58 -07:00
mm KVM: s390: Fix guest migration for huge guests resulting in panic 2017-03-18 19:14:34 +08:00
net s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop 2016-05-19 09:14:27 +02:00
numa s390/numa: only set possible nodes within node_possible_map 2016-07-31 05:28:00 -04:00
oprofile s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pci s390/pci: fix dma address calculation in map_sg 2017-01-12 11:39:37 +01:00
tools s390/facilities: do not generate DWORDS define anymore 2016-07-31 05:27:59 -04:00
defconfig mm/usercopy: get rid of CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2016-08-30 10:10:21 -07:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig atomic64: no need for CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 2016-10-07 18:46:30 -07:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Makefile s390: add assembler include path for vx-insn.h 2016-09-06 11:00:04 +02:00