diff options
| author | Marc Zyngier <maz@kernel.org> | 2025-05-21 10:58:29 +0100 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2025-05-21 11:40:12 +0100 |
| commit | beab7d058309bfe0460a441b1c73639941e33d38 (patch) | |
| tree | 9771a2b0dd84db4978272ee8fdfef48b136483e9 | |
| parent | d43548f422f27219eff5ce1897336af2c4f15091 (diff) | |
KVM: arm64: nv: Handle TLBI S1E2 for VNCR invalidation with mmu_lock held
Calling invalidate_vncr_va() without the mmu_lock held for write
is a bad idea, and lockdep tells you about that.
Fixes: 4ffa72ad8f37e ("KVM: arm64: nv: Add S1 TLB invalidation primitive for VNCR_EL2")
Signed-off-by: Marc Zyngier <maz@kernel.org>
| -rw-r--r-- | arch/arm64/kvm/nested.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c index 56b732003caa..2381663d2ee9 100644 --- a/arch/arm64/kvm/nested.c +++ b/arch/arm64/kvm/nested.c @@ -1044,6 +1044,8 @@ void kvm_handle_s1e2_tlbi(struct kvm_vcpu *vcpu, u32 inst, u64 val) struct s1e2_tlbi_scope scope = {}; compute_s1_tlbi_range(vcpu, inst, val, &scope); + + guard(write_lock)(&vcpu->kvm->mmu_lock); invalidate_vncr_va(vcpu->kvm, &scope); } |
