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
> 

Reply via email to