s390/mm: simplify kernel mapping setup
authorHeiko Carstens <hca@linux.ibm.com>
Fri, 25 Aug 2023 12:29:48 +0000 (14:29 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 30 Aug 2023 09:03:27 +0000 (11:03 +0200)
commitc0f1d478121131c2a97cab24148bf7ebb7ed3434
treeeddcdda865a0d66f371590e057025128c32af7d5
parentb6f10e2f66e43b903b1f37b643d353fe364190cd
s390/mm: simplify kernel mapping setup

The kernel mapping is setup in two stages: in the decompressor map all
pages with RWX permissions, and within the kernel change all mappings to
their final permissions, where most of the mappings are changed from RWX to
RWNX.

Change this and map all pages RWNX from the beginning, however without
enabling noexec via control register modification. This means that
effectively all pages are used with RWX permissions like before. When the
final permissions have been applied to the kernel mapping enable noexec via
control register modification.

This allows to remove quite a bit of non-obvious code.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/boot/startup.c
arch/s390/boot/vmem.c
arch/s390/kernel/early.c
arch/s390/mm/vmem.c