diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-main.c b/arch/arm64/kvm/hyp/nvhe/hyp-main.c index 6c517f7e4111..85fd5483e06c 100644 --- a/arch/arm64/kvm/hyp/nvhe/hyp-main.c +++ b/arch/arm64/kvm/hyp/nvhe/hyp-main.c @@ -309,11 +309,7 @@ static void handle_pvm_exit_dabt(struct pkvm_hyp_vcpu *hyp_vcpu) { struct kvm_vcpu *host_vcpu = hyp_vcpu->host_vcpu; - /* - * For now, we treat all data aborts as MMIO since we have no knowledge - * of the memslot configuration at EL2. - */ - hyp_vcpu->vcpu.mmio_needed = true; + hyp_vcpu->vcpu.mmio_needed = __pkvm_check_ioguard_page(hyp_vcpu); if (hyp_vcpu->vcpu.mmio_needed) { /* r0 as transfer register between the guest and the host. */