lkml.org 
[lkml]   [2019]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/34] x86/kvm: convert put_page() to put_user_page*()
    Date
    From: John Hubbard <jhubbard@nvidia.com>

    For pages that were retained via get_user_pages*(), release those pages
    via the new put_user_page*() routines, instead of via put_page().

    This is part a tree-wide conversion, as described in commit fc1d8e7cca2d
    ("mm: introduce put_user_page*(), placeholder versions").

    Cc: Joerg Roedel <joro@8bytes.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: "Radim Krčmář" <rkrcmar@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    Cc: kvm@vger.kernel.org
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    ---
    arch/x86/kvm/svm.c | 4 ++--
    virt/kvm/kvm_main.c | 4 ++--
    2 files changed, 4 insertions(+), 4 deletions(-)

    diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
    index 7eafc6907861..ff93c923ed36 100644
    --- a/arch/x86/kvm/svm.c
    +++ b/arch/x86/kvm/svm.c
    @@ -1827,7 +1827,7 @@ static struct page **sev_pin_memory(struct kvm *kvm, unsigned long uaddr,

    err:
    if (npinned > 0)
    - release_pages(pages, npinned);
    + put_user_pages(pages, npinned);

    kvfree(pages);
    return NULL;
    @@ -1838,7 +1838,7 @@ static void sev_unpin_memory(struct kvm *kvm, struct page **pages,
    {
    struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;

    - release_pages(pages, npages);
    + put_user_pages(pages, npages);
    kvfree(pages);
    sev->pages_locked -= npages;
    }
    diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
    index 887f3b0c2b60..4b6a596ea8e9 100644
    --- a/virt/kvm/kvm_main.c
    +++ b/virt/kvm/kvm_main.c
    @@ -1499,7 +1499,7 @@ static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault,

    if (__get_user_pages_fast(addr, 1, 1, &wpage) == 1) {
    *writable = true;
    - put_page(page);
    + put_user_page(page);
    page = wpage;
    }
    }
    @@ -1831,7 +1831,7 @@ EXPORT_SYMBOL_GPL(kvm_release_page_clean);
    void kvm_release_pfn_clean(kvm_pfn_t pfn)
    {
    if (!is_error_noslot_pfn(pfn) && !kvm_is_reserved_pfn(pfn))
    - put_page(pfn_to_page(pfn));
    + put_user_page(pfn_to_page(pfn));
    }
    EXPORT_SYMBOL_GPL(kvm_release_pfn_clean);

    --
    2.22.0
    \
     
     \ /
      Last update: 2019-08-02 04:40    [W:4.117 / U:0.472 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site