android_kernel_oneplus_msm8998/arch/s390
Heiko Carstens 5416a88c2f s390/ctl_reg: make __ctl_load a full memory barrier
[ Upstream commit e991c24d68b8c0ba297eeb7af80b1e398e98c33f ]

We have quite a lot of code that depends on the order of the
__ctl_load inline assemby and subsequent memory accesses, like
e.g. disabling lowcore protection and the writing to lowcore.

Since the __ctl_load macro does not have memory barrier semantics, nor
any other dependencies the compiler is, theoretically, free to shuffle
code around. Or in other words: storing to lowcore could happen before
lowcore protection is disabled.

In order to avoid this class of potential bugs simply add a full
memory barrier to the __ctl_load macro.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-05 14:37:20 +02:00
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot s390/decompressor: fix initrd corruption caused by bss clear 2017-04-12 12:38:34 +02:00
configs s390/defconfig: set SCSI_DH=y 2015-10-01 10:48:36 +02:00
crypto s390/crypto: unlock on error in prng_tdes_read() 2017-01-12 11:22:49 +01:00
hypfs s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment 2016-11-18 10:48:34 +01:00
include s390/ctl_reg: make __ctl_load a full memory barrier 2017-07-05 14:37:20 +02:00
kernel s390/kvm: do not rely on the ILC on kvm host protection fauls 2017-06-17 06:39:38 +02:00
kvm KVM: s390: Disable dirty log retrieval for UCONTROL guests 2017-03-15 09:57:11 +08:00
lib s390/bitops: remove 31 bit related comments 2015-10-14 14:32:15 +02:00
mm mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
net s390/bpf: reduce maximum program size to 64 KB 2016-06-24 10:18:19 -07:00
numa s390/numa: write kernel message when emu_size has been increased 2015-10-14 14:31:59 +02:00
oprofile s390/oprofile: fix compile error 2015-07-01 09:34:39 +02:00
pci s390/pci: fix use after free in dma_init 2017-03-26 12:13:18 +02:00
defconfig s390: new default configuration 2015-06-25 09:39:25 +02:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig IOMMU Updates for Linux v4.4 2015-11-05 16:12:10 -08:00
Kconfig.debug
Makefile s390/sclp: convert early sclp console code to C 2015-07-29 09:11:39 +02:00