lkml.org 
[lkml]   [2020]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC v1 1/2] mm/gup: fixup for 9947ea2c1e608e32 "mm/gup: track FOLL_PIN pages"
    Date
    In case pin fails, we need to unpin, a simple put_page will not be enough

    Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
    ---
    mm/gup.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/mm/gup.c b/mm/gup.c
    index f589299b0d4a..0b9a806898f3 100644
    --- a/mm/gup.c
    +++ b/mm/gup.c
    @@ -2134,7 +2134,10 @@ static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end,
    goto pte_unmap;

    if (unlikely(pte_val(pte) != pte_val(*ptep))) {
    - put_page(head);
    + if (flags & FOLL_GET)
    + put_page(head);
    + else if (flags & FOLL_PIN)
    + unpin_user_page(head);
    goto pte_unmap;
    }

    --
    2.24.1
    \
     
     \ /
      Last update: 2020-02-28 16:45    [W:2.384 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site