linux_dsm_epyc7002/arch/s390/include/asm
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
..
airq.h s390/airq: add support for irq ranges 2014-03-04 10:41:04 +01:00
appldata.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
asm-offsets.h
atomic.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
barrier.h arch: Add lightweight memory barriers dma_rmb() and dma_wmb() 2014-12-11 21:15:06 -05:00
bitops.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
bug.h
bugs.h
cache.h
cacheflush.h mm/debug_pagealloc: fix build failure on ppc and some other archs 2015-02-05 13:35:30 -08:00
ccwdev.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
ccwgroup.h s390: fix new ccwgroup.h kernel-doc warning 2014-05-20 08:58:45 +02:00
checksum.h s390/checksum: remove memset() within csum_partial_copy_from_user() 2014-02-24 17:14:08 +01:00
chpid.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
cio.h treewide: Fix typo in Documentation/DocBook 2014-02-19 14:58:17 +01:00
clp.h s390/pci: cleanup clp page allocation 2013-02-14 15:55:16 +01:00
cmb.h
cmpxchg.h s390/cmpxchg: simplify cmpxchg_double 2015-03-25 11:49:36 +01:00
compat.h s390/compat: build error for large compat syscall args 2014-03-06 16:30:47 +01:00
cpcmd.h
cpu_mf.h s390: add SMT support 2015-01-22 12:16:01 +01:00
cpu.h
cputime.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
crw.h
css_chars.h s390/qdio: bridgeport support - CHSC part 2014-01-15 14:48:01 -08:00
ctl_reg.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
current.h
debug.h s390/debug: avoid function call for debug_sprintf_* 2014-12-08 09:42:29 +01:00
delay.h
device.h
diag.h
dis.h s390/disassembler: add vector instructions 2014-10-09 09:14:15 +02:00
div64.h
dma-mapping.h s390: Implement dma_{alloc,free}_attrs() 2014-08-26 07:39:12 +02:00
dma.h s390/pci: define isa_dma_bridge_buggy 2013-01-08 10:57:09 +01:00
eadm.h s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00
ebcdic.h
elf.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
emergency-restart.h
etr.h
exec.h
extmem.h
facility.h s390/facility: decompose test_facility() 2013-06-26 21:10:25 +02:00
fb.h
fcx.h s390/cio: fix error-prone defines 2013-10-24 17:17:04 +02:00
ftrace.h s390/ftrace: hotpatch support for function tracing 2015-01-29 09:19:25 +01:00
futex.h s390/uaccess: simplify control register updates 2014-05-20 08:58:46 +02:00
hardirq.h hardirq: Make hardirq bits generic 2013-11-13 20:21:46 +01:00
hugetlb.h s390/mm: cleanup page table definitions 2013-08-22 12:20:06 +02:00
hw_irq.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
idals.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
idle.h s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
io.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-12-11 17:30:55 -08:00
ipl.h s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
irq_regs.h
irq.h s390/irq: use irq 0 2014-11-18 18:23:03 +01:00
irqflags.h s390/kernel: use stnsm 255 instead of stosm 0 2014-12-18 13:37:15 +01:00
isc.h s390/pci: PCI adapter interrupts for MSI/MSI-X 2012-11-30 17:47:21 +01:00
itcw.h
jump_label.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
Kbuild net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
kdebug.h
kexec.h
kmap_types.h
kprobes.h s390/ftrace,kprobes: allow to patch first instruction 2014-10-27 13:27:27 +01:00
kvm_host.h KVM: s390: include guest facilities in kvm facility test 2015-03-04 10:33:25 +01:00
kvm_para.h
linkage.h
local64.h
local.h
lowcore.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mathemu.h
mman.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mmu_context.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mmu.h KVM: s390: Adding skey bit to mmu context 2014-04-22 09:36:23 +02:00
module.h
mutex.h mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef 2013-09-28 12:46:21 +02:00
nmi.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
os_info.h
page.h s390: let the compiler do page clearing 2015-02-26 09:24:49 +01:00
pci_clp.h s390/pci: add some new arch specific pci attributes 2014-05-20 08:58:50 +02:00
pci_debug.h s390/pci: remove CONFIG_PCI_DEBUG dependancy 2013-10-24 17:17:16 +02:00
pci_dma.h s390/pci: DMA support 2012-11-30 17:47:23 +01:00
pci_insn.h s390/pci: cleanup function information block 2013-10-24 17:17:17 +02:00
pci_io.h s390: add pci_iomap_range 2015-01-21 16:28:49 +10:30
pci.h s390/pci: improve irq number check for msix 2014-11-03 13:30:12 +01:00
percpu.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
perf_event.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
pgalloc.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
pgtable.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
processor.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
ptrace.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
reset.h s390: add SMT support 2015-01-22 12:16:01 +01:00
runtime_instr.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
rwsem.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
schid.h
sclp.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
scsw.h
seccomp.h
sections.h
segment.h
serial.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
setup.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
sfp-machine.h
sfp-util.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
shmparam.h
signal.h s390: switch to generic old sigaction() 2013-02-03 18:16:14 -05:00
sigp.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-02-11 17:42:32 -08:00
smp.h s390: add SMT support 2015-01-22 12:16:01 +01:00
sparsemem.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
spinlock_types.h s390/rwlock: use directed yield for write-locked rwlocks 2014-09-25 10:52:05 +02:00
spinlock.h s390/cmpxchg: use compiler builtins 2014-11-03 13:29:47 +01:00
string.h lib/string.c: remove strnicmp() 2015-02-12 18:54:14 -08:00
switch_to.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
syscall.h s390/seccomp: fix error return for filtered system calls 2014-07-28 10:02:31 +02:00
sysinfo.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
termios.h
thread_info.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
timex.h s390/timex: fix get_tod_clock_ext() inline assembly 2015-01-07 09:52:47 +01:00
tlb.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
tlbflush.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
topology.h s390/topology: convert cpu_topology array to per cpu variable 2015-02-12 09:37:22 +01:00
types.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
uaccess.h s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
unaligned.h
unistd.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
uprobes.h s390/uprobes: architecture backend for uprobes 2014-09-25 10:52:17 +02:00
user.h
vdso.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vga.h vga: compile fix, disable vga for s390 2012-11-30 17:47:28 +01:00
vtime.h vtime: Describe overriden functions in dedicated arch headers 2013-08-14 17:14:53 +02:00
vtimer.h s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
xor.h