Skip to content

Commit ce6bf70

Browse files
sean-jcbonzini
authored andcommitted
KVM: Convert gfn_to_page() to use kvm_follow_pfn()
Convert gfn_to_page() to the new kvm_follow_pfn() internal API, which will eventually allow removing gfn_to_pfn() and kvm_pfn_to_refcounted_page(). Tested-by: Alex Bennée <[email protected]> Signed-off-by: Sean Christopherson <[email protected]> Tested-by: Dmitry Osipenko <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]> Message-ID: <[email protected]>
1 parent ee0fa69 commit ce6bf70

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

virt/kvm/kvm_main.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3139,14 +3139,16 @@ EXPORT_SYMBOL_GPL(kvm_prefetch_pages);
31393139
*/
31403140
struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn)
31413141
{
3142-
kvm_pfn_t pfn;
3143-
3144-
pfn = gfn_to_pfn(kvm, gfn);
3145-
3146-
if (is_error_noslot_pfn(pfn))
3147-
return NULL;
3142+
struct page *refcounted_page = NULL;
3143+
struct kvm_follow_pfn kfp = {
3144+
.slot = gfn_to_memslot(kvm, gfn),
3145+
.gfn = gfn,
3146+
.flags = FOLL_WRITE,
3147+
.refcounted_page = &refcounted_page,
3148+
};
31483149

3149-
return kvm_pfn_to_refcounted_page(pfn);
3150+
(void)kvm_follow_pfn(&kfp);
3151+
return refcounted_page;
31503152
}
31513153
EXPORT_SYMBOL_GPL(gfn_to_page);
31523154

0 commit comments

Comments
 (0)