On Thu, Oct 10, 2024 at 11:23:21AM -0700, Sean Christopherson wrote: > --- a/virt/kvm/pfncache.c > +++ b/virt/kvm/pfncache.c > @@ -159,6 +159,12 @@ static kvm_pfn_t hva_to_pfn_retry(struct gfn_to_pfn_cache *gpc) > kvm_pfn_t new_pfn = KVM_PFN_ERR_FAULT; > void *new_khva = NULL; > unsigned long mmu_seq; > + struct kvm_follow_pfn kfp = { > + .slot = gpc->memslot, > + .gfn = gpa_to_gfn(gpc->gpa), > + .flags = FOLL_WRITE, > + .hva = gpc->uhva, > + }; Is .map_writable uninitialized? > > lockdep_assert_held(&gpc->refresh_lock); > > @@ -197,8 +203,7 @@ static kvm_pfn_t hva_to_pfn_retry(struct gfn_to_pfn_cache *gpc) > cond_resched(); > } > > - /* We always request a writable mapping */ > - new_pfn = hva_to_pfn(gpc->uhva, false, false, true, NULL); > + new_pfn = hva_to_pfn(&kfp); > if (is_error_noslot_pfn(new_pfn)) > goto out_error; > > -- > 2.47.0.rc1.288.g06298d1525-goog >