lkml.org 
[lkml]   [2020]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 105/173] IB/core: Fix ODP get user pages flow
    Date
    From: Yishai Hadas <yishaih@mellanox.com>

    commit d07de8bd1709a80a282963ad7b2535148678a9e4 upstream.

    The nr_pages argument of get_user_pages_remote() should always be in terms
    of the system page size, not the MR page size. Use PAGE_SIZE instead of
    umem_odp->page_shift.

    Fixes: 403cd12e2cf7 ("IB/umem: Add contiguous ODP support")
    Link: https://lore.kernel.org/r/20191222124649.52300-3-leon@kernel.org
    Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
    Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/infiniband/core/umem_odp.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/infiniband/core/umem_odp.c
    +++ b/drivers/infiniband/core/umem_odp.c
    @@ -637,7 +637,7 @@ int ib_umem_odp_map_dma_pages(struct ib_

    while (bcnt > 0) {
    const size_t gup_num_pages = min_t(size_t,
    - (bcnt + BIT(page_shift) - 1) >> page_shift,
    + ALIGN(bcnt, PAGE_SIZE) / PAGE_SIZE,
    PAGE_SIZE / sizeof(struct page *));

    down_read(&owning_mm->mmap_sem);

    \
     
     \ /
      Last update: 2020-02-13 16:56    [W:2.470 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site