s390/mm: use invalid asce instead of kernel asce
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 16 Nov 2020 07:06:41 +0000 (08:06 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 23 Nov 2020 11:01:12 +0000 (12:01 +0100)
commit0290c9e328e04052e317171953feb18177a34aed
tree9ba70533fc8727ef2d664542b62f90180d44819c
parent87d5986345219a7e4f204726d9085ea87f3e22d0
s390/mm: use invalid asce instead of kernel asce

Create a region 3 page table which contains only invalid entries, and
use that via "s390_invalid_asce" instead of the kernel ASCE whenever
there is either
- no user address space available, e.g. during early startup
- as an intermediate ASCE when address spaces are switched

This makes sure that user space accesses in such situations are
guaranteed to fail.

Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/mmu_context.h
arch/s390/include/asm/pgtable.h
arch/s390/kernel/smp.c
arch/s390/kernel/vmlinux.lds.S
arch/s390/mm/init.c