summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2025-05-21 11:04:11 +0100
committerMarc Zyngier <maz@kernel.org>2025-05-21 11:40:12 +0100
commit538fbac74019c13dac341b20fbcc1e96c9a8d01e (patch)
treed55b2e756f58c6c921587dca73778ce8268765b4
parentbeab7d058309bfe0460a441b1c73639941e33d38 (diff)
KVM: arm64: nv: Release faulted-in VNCR page from mmu_lock critical section
The conversion to kvm_release_faultin_page() missed the requirement for this to be called within a critical section with mmu_lock held for write. Move this call up to satisfy this requirement. Fixes: 069a05e535496 ("KVM: arm64: nv: Handle VNCR_EL2-triggered faults") Signed-off-by: Marc Zyngier <maz@kernel.org>
-rw-r--r--arch/arm64/kvm/nested.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
index 2381663d2ee9..e7e71f1615f1 100644
--- a/arch/arm64/kvm/nested.c
+++ b/arch/arm64/kvm/nested.c
@@ -1228,9 +1228,9 @@ static int kvm_translate_vncr(struct kvm_vcpu *vcpu)
vt->cpu = -1;
kvm_make_request(KVM_REQ_MAP_L1_VNCR_EL2, vcpu);
+ kvm_release_faultin_page(vcpu->kvm, page, false, vt->wr.pw);
}
- kvm_release_faultin_page(vcpu->kvm, page, false, vt->wr.pw);
if (vt->wr.pw)
mark_page_dirty(vcpu->kvm, gfn);