diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c index 5d9bafe..03459b8 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c @@ -562,6 +562,7 @@ static int kvm_radix_test_clear_dirty(struct kvm *kvm, unsigned int shift; int ret = 0; + spin_lock(&kvm->mmu_lock); ptep = __find_linux_pte(kvm->arch.pgtable, gpa, NULL, &shift); if (ptep && pte_present(*ptep) && pte_dirty(*ptep)) { ret = 1; @@ -571,6 +572,7 @@ static int kvm_radix_test_clear_dirty(struct kvm *kvm, gpa, shift); kvmppc_radix_tlbie_page(kvm, gpa, shift); } + spin_unlock(&kvm->mmu_lock); return ret; }