From: Sean Christopherson Date: Thu, 10 Oct 2024 18:24:09 +0000 (-0700) Subject: KVM: LoongArch: Mark "struct page" pfn accessed before dropping mmu_lock X-Git-Tag: v6.13-rc1~97^2~17^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=35b80f7b494d813ebe64d5c261a88fa8c9ed6f31;p=thirdparty%2Fkernel%2Flinux.git KVM: LoongArch: Mark "struct page" pfn accessed before dropping mmu_lock Mark pages accessed before dropping mmu_lock when faulting in guest memory so that LoongArch can convert to kvm_release_faultin_page() without tripping its lockdep assertion on mmu_lock being held. Reviewed-by: Bibo Mao Signed-off-by: Sean Christopherson Tested-by: Dmitry Osipenko Signed-off-by: Paolo Bonzini Message-ID: <20241010182427.1434605-68-seanjc@google.com> --- diff --git a/arch/loongarch/kvm/mmu.c b/arch/loongarch/kvm/mmu.c index ed43504c5c7e7..7066cafcce641 100644 --- a/arch/loongarch/kvm/mmu.c +++ b/arch/loongarch/kvm/mmu.c @@ -902,13 +902,13 @@ retry: if (writeable) kvm_set_pfn_dirty(pfn); + kvm_release_pfn_clean(pfn); spin_unlock(&kvm->mmu_lock); if (prot_bits & _PAGE_DIRTY) mark_page_dirty_in_slot(kvm, memslot, gfn); - kvm_release_pfn_clean(pfn); out: srcu_read_unlock(&kvm->srcu, srcu_idx); return err;