s390/mm: use invalid asce for user space when switching to init_mm
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 7 Dec 2020 19:56:38 +0000 (20:56 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 9 Dec 2020 20:02:08 +0000 (21:02 +0100)
commitb4d70a6134d2152d692ccc873ff6fa3351631927
tree506d435fedb08619cb849906cb4e207139c6b337
parent454efcf82ea17d7efeb86ebaa20775a21ec87d27
s390/mm: use invalid asce for user space when switching to init_mm

Currently only idle_task_exit() explicitly switches (switch_mm) to
init_mm. This causes the kernel asce to be loaded into cr7 and
therefore it would be used for potential user space accesses.

This is currently no problem since idle_task_exit() is nearly the last
thing a CPU executes before it is taken down. However things might
change - and therefore make sure that always the invalid asce is used
for cr7 when active_mm is init_mm.

This makes sure that all potential user space accesses will fail,
instead of accessing kernel address space.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/mmu_context.h