linux/virt/kvm/arm
Marc Zyngier 3ddd455653 KVM: arm64: Fix HYP idmap unmap when using 52bit PA
Unmapping the idmap range using 52bit PA is quite broken, as we
don't take into account the right number of PGD entries, and rely
on PTRS_PER_PGD. The result is that pgd_index() truncates the
address, and we end-up in the weed.

Let's introduce a new unmap_hyp_idmap_range() that knows about this,
together with a kvm_pgd_index() helper, which hides a bit of the
complexity of the issue.

Fixes: 98732d1b18 ("KVM: arm/arm64: fix HYP ID map extension to 52 bits")
Reported-by: James Morse <james.morse@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-03-19 13:04:26 +00:00
..
hyp KVM: arm/arm64: Avoid VGICv3 save/restore on VHE with no IRQs 2018-03-19 10:53:21 +00:00
vgic KVM: arm/arm64: Keep GICv2 HYP VAs in kvm_vgic_global_state 2018-03-19 13:04:06 +00:00
aarch32.c KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1 2018-03-19 10:53:17 +00:00
arch_timer.c KVM: arm/arm64: Move vcpu_load call after kvm_vcpu_first_run_init 2018-03-19 10:53:09 +00:00
arm.c KVM: arm/arm64: Handle VGICv3 save/restore from the main VGIC code on VHE 2018-03-19 10:53:21 +00:00
mmio.c KVM: Fix stack-out-of-bounds read in write_mmio 2017-12-18 12:57:01 +01:00
mmu.c KVM: arm64: Fix HYP idmap unmap when using 52bit PA 2018-03-19 13:04:26 +00:00
perf.c KVM: arm/arm64: Move shared files to virt/kvm/arm 2017-05-04 13:57:26 +02:00
pmu.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
psci.c arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support 2018-02-06 22:54:05 +00:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00