summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2019-08-27 19:06:46 +0200
committerMarc Zyngier <maz@kernel.org>2019-08-27 19:16:02 +0200
commite8688ba3874915b7d1661a57adf15a9c9e877df7 (patch)
tree6a74212f5ec43b4c9404df128a9e44a7fdf943b0 /virt
parentKVM: arm/arm64: vgic: Use a single IO device per redistributor (diff)
downloadlinux-e8688ba3874915b7d1661a57adf15a9c9e877df7.tar.xz
linux-e8688ba3874915b7d1661a57adf15a9c9e877df7.zip
arm64: KVM: Device mappings should be execute-never
Since commit 2f6ea23f63cca ("arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set"), KVM has stopped marking normal memory as execute-never at stage2 when the system supports D->I Coherency at the PoU. This avoids KVM taking a trap when the page is first executed, in order to clean it to PoU. The patch that added this change also wrapped PAGE_S2_DEVICE mappings up in this too. The upshot is, if your CPU caches support DIC ... you can execute devices. Revert the PAGE_S2_DEVICE change so PTE_S2_XN is always used directly. Fixes: 2f6ea23f63cca ("arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set") Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions