Re: [PATCH] LoongArch: KVM: Fix build due to API changes
From: Huacai Chen
Date: Fri Nov 24 2023 - 09:23:14 EST
Hi, Paolo,
On Thu, Nov 16, 2023 at 3:48 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
>
>
> On 11/15/23 01:07, Huacai Chen wrote:
> > Commit 8569992d64b8f750e34b7858eac ("KVM: Use gfn instead of hva for
> > mmu_notifier_retry") replaces mmu_invalidate_retry_hva() usage with
> > mmu_invalidate_retry_gfn() for X86, LoongArch also need similar changes
> > to fix build.
> >
> > Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
>
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested
> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
I think this patch should go through your kvm tree rather than the
loongarch tree. Because the loongarch tree is based on 6.7 now, this
patch can fix a build error for kvm tree, but will cause a build error
on the loongarch tree.
Huacai
>
> Thanks.
>
> > ---
> > arch/loongarch/kvm/mmu.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/loongarch/kvm/mmu.c b/arch/loongarch/kvm/mmu.c
> > index 80480df5f550..9463ebecd39b 100644
> > --- a/arch/loongarch/kvm/mmu.c
> > +++ b/arch/loongarch/kvm/mmu.c
> > @@ -627,7 +627,7 @@ static bool fault_supports_huge_mapping(struct kvm_memory_slot *memslot,
> > *
> > * There are several ways to safely use this helper:
> > *
> > - * - Check mmu_invalidate_retry_hva() after grabbing the mapping level, before
> > + * - Check mmu_invalidate_retry_gfn() after grabbing the mapping level, before
> > * consuming it. In this case, mmu_lock doesn't need to be held during the
> > * lookup, but it does need to be held while checking the MMU notifier.
> > *
> > @@ -807,7 +807,7 @@ static int kvm_map_page(struct kvm_vcpu *vcpu, unsigned long gpa, bool write)
> >
> > /* Check if an invalidation has taken place since we got pfn */
> > spin_lock(&kvm->mmu_lock);
> > - if (mmu_invalidate_retry_hva(kvm, mmu_seq, hva)) {
> > + if (mmu_invalidate_retry_gfn(kvm, mmu_seq, gfn)) {
> > /*
> > * This can happen when mappings are changed asynchronously, but
> > * also synchronously if a COW is triggered by
>
> --
> ~Randy