kernel-ark/arch/s390/mm
Martin Schwidefsky 007ccec53d s390/pageattr: do a single TLB flush for change_page_attr
The change of the access rights for an address range in the kernel
address space is currently done with a loop of IPTE + a store of the
modified PTE. Between the IPTE and the store the PTE will be invalid,
this intermediate state can cause problems with concurrent accesses.

Consider a change of a kernel area from read-write to read-only, a
concurrent reader of that area should be fine but with the invalid
PTE it might get an unexpected exception.

Remove the IPTEs for each PTE and do a global flush after all PTEs
have been modified.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-02-23 08:56:17 +01:00
..
cmm.c s390: convert use of typedef ctl_table to struct ctl_table 2013-10-28 08:36:25 +01:00
dump_pagetables.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
extable.c s390: fix normalization bug in exception table sorting 2016-01-11 13:02:28 +01:00
extmem.c s390/extmem: remove unused variable 2015-12-18 14:59:29 +01:00
fault.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
gup.c s390, thp: remove infrastructure for handling splitting PMDs 2016-01-15 17:56:32 -08:00
hugetlbpage.c s390/mm: implement soft-dirty bits for user memory change tracking 2015-10-14 14:32:05 +02:00
init.c s390/irqflags: optimize irq restore 2016-01-19 12:14:01 +01:00
maccess.c s390/maccess: reduce stnsm instructions 2016-02-17 09:05:04 +01:00
Makefile s390/mem_detect: move memory detection code to mm folder 2013-05-02 15:50:22 +02:00
mem_detect.c s390/mem_detect: use unsigned longs 2016-01-11 12:27:11 +01:00
mmap.c s390/mm: use TASK_MAX_SIZE where applicable 2016-01-19 12:14:01 +01:00
page-states.c s390/cmma: remove "cmma disable" code in case of dump again 2014-05-20 08:58:42 +02:00
pageattr.c s390/pageattr: do a single TLB flush for change_page_attr 2016-02-23 08:56:17 +01:00
pgtable.c s390/mm: use TASK_MAX_SIZE where applicable 2016-01-19 12:14:01 +01:00
vmem.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00