linux/arch/s390
David Hildenbrand f045402984 s390/mm: fix gmap tlb flush issues
__tlb_flush_asce() should never be used if multiple asce belong to a mm.

As this function changes mm logic determining if local or global tlb
flushes will be neded, we might end up flushing only the gmap asce on all
CPUs and a follow up mm asce flushes will only flush on the local CPU,
although that asce ran on multiple CPUs.

The missing tlb flushes will provoke strange faults in user space and even
low address protections in user space, crashing the kernel.

Fixes: 1b948d6cae ("s390/mm,tlb: optimize TLB flushing for zEC12")
Cc: stable@vger.kernel.org # 3.15+
Reported-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-07-13 10:58:01 +02:00
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot s390: enable kcov support 2016-06-28 09:32:39 +02:00
configs s390: Updated kernel config files 2016-06-15 16:37:07 +02:00
crypto s390/crc32-vx: add crypto API module for optimized CRC-32 algorithms 2016-06-15 16:36:34 +02:00
hypfs s390/hypfs: use basic block for diag inline assembly 2016-06-28 09:32:37 +02:00
include s390/mm: fix gmap tlb flush issues 2016-07-13 10:58:01 +02:00
kernel s390: have unique symbol for __switch_to address 2016-07-04 09:25:22 +02:00
kvm s390/time: remove ETR support 2016-06-13 15:58:21 +02:00
lib s390/lib: use basic blocks for inline assemblies 2016-06-28 09:32:28 +02:00
mm s390/mm: fix gmap tlb flush issues 2016-07-13 10:58:01 +02:00
net s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop 2016-05-19 09:14:27 +02:00
numa s390/topology: add drawer scheduling domain level 2016-06-13 15:58:27 +02:00
oprofile s390/oprofile: remove hardware sampler support 2016-06-28 09:32:22 +02:00
pci s390/pci: use basic blocks for pci inline assemblies 2016-06-28 09:32:32 +02:00
tools s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00
defconfig s390: Updated kernel config files 2016-06-15 16:37:07 +02:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig s390: enable kcov support 2016-06-28 09:32:39 +02:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Makefile s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00