[PATCH v13 19/85] KVM: Introduce kvm_follow_pfn() to eventually replace "gfn_to_pfn" APIs
Yan Zhao
yan.y.zhao at intel.com
Mon Oct 21 01:49:34 PDT 2024
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
>
More information about the kvm-riscv
mailing list