linux-hardened/arch/s390
Heiko Carstens 8a5d8473dd s390/maccess: remove potentially broken probe_kernel_write()
Remove the s390 architecture implementation of probe_kernel_write() and
instead use a new function s390_kernel_write() to modify kernel text and
data everywhere.

The s390 implementation of probe_kernel_write() was potentially broken
since it modified memory in a read-modify-write fashion, which read four
bytes, modified the requested bytes within those four bytes and wrote
the result back.
If two cpus would modify the same four byte area at different locations
within that area, this could lead to corruption.
Right now the only places which called probe_kernel_write() did run within
stop_machine_run. Therefore the scenario can't happen right now, however
that might change at any time.

To fix this rename probe_kernel_write() to s390_kernel_write() which can
have special semantics, like only call it while running within stop_machine().

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-03-25 11:49:43 +01:00
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
configs s390: update default configuration 2015-01-22 12:16:09 +01:00
crypto s390: remove test_facility(2) (== z/Architecture mode active) checks 2015-03-25 11:49:37 +01:00
hypfs s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
include s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
kernel s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
kvm KVM: s390: non-LPAR case obsolete during facilities mask init 2015-03-04 10:33:25 +01:00
lib s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mm s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
net s390/bpf: Zero extend parameters before calling C function 2015-01-15 11:10:41 +01:00
oprofile s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
pci s390: remove test_facility(2) (== z/Architecture mode active) checks 2015-03-25 11:49:37 +01:00
defconfig s390: update default configuration 2015-01-22 12:16:09 +01:00
Kbuild s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
Kconfig s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
Kconfig.debug Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2013-04-30 17:04:09 -07:00
Makefile s390: remove 31 bit support 2015-03-25 11:49:33 +01:00