Since we use distinct permissions when mapping things at EL2 depending on whether they are text or data, we are already using a W^X setup with nVHE. This trivial series aims to enforce it by setting SCTLR_EL2.WXN at all times. It just cleans up a couple of code paths so that SCTLR_ELx_FLAGS is only used by the KVM setup code, and finally sets the WXN flag permanently. Lightly tested on an A53 system with 4KB and 64KB pages. Thanks, M. Marc Zyngier (4): arm64: Use INIT_SCTLR_EL1_MMU_OFF to disable the MMU on CPU restart KVM: arm64: Use INIT_SCTLR_EL2_MMU_OFF to disable the MMU on KVM teardown KVM: arm64: Rename SCTLR_ELx_FLAGS to SCTLR_EL2_FLAGS KVM: arm64: Force SCTLR_EL2.WXN when running nVHE arch/arm64/include/asm/sysreg.h | 5 +++-- arch/arm64/kernel/cpu-reset.S | 5 +---- arch/arm64/kvm/hyp/nvhe/hyp-init.S | 6 ++---- 3 files changed, 6 insertions(+), 10 deletions(-) -- 2.29.2