summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/riscv/kvm/mmu.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index 8469ed932421..da944cb68404 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -245,22 +245,17 @@ out:
bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range)
{
struct kvm_gstage gstage;
- bool mmu_locked;
bool flush;
if (!kvm->arch.pgd)
return false;
- kvm_riscv_gstage_init(&gstage, kvm);
- mmu_locked = spin_trylock(&kvm->mmu_lock);
+ lockdep_assert_held_write(&kvm->mmu_lock);
+ kvm_riscv_gstage_init(&gstage, kvm);
flush = kvm_riscv_gstage_unmap_range(&gstage, range->start << PAGE_SHIFT,
(range->end - range->start) << PAGE_SHIFT,
range->may_block);
-
- if (mmu_locked)
- spin_unlock(&kvm->mmu_lock);
-
if (flush)
kvm_flush_remote_tlbs_range(kvm, range->start,
range->end - range->start);