lkml.org 
[lkml]   [2018]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 25/86] IB/mlx5: Fix incorrect size of klms in the memory region
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Sergey Gorenko <sergeygo@mellanox.com>

    commit da343b6d90e11132f1e917d865d88ee35d6e6d00 upstream.

    The value of mr->ndescs greater than mr->max_descs is set in the
    function mlx5_ib_sg_to_klms() if sg_nents is greater than
    mr->max_descs. This is an invalid value and it causes the
    following error when registering mr:

    mlx5_0:dump_cqe:276:(pid 193): dump error cqe
    00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000030: 00 00 00 00 0f 00 78 06 25 00 00 8b 08 1e 8f d3

    Cc: <stable@vger.kernel.org> # 4.5
    Fixes: b005d3164713 ("mlx5: Add arbitrary sg list support")
    Signed-off-by: Sergey Gorenko <sergeygo@mellanox.com>
    Tested-by: Laurence Oberman <loberman@redhat.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/infiniband/hw/mlx5/mr.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/infiniband/hw/mlx5/mr.c
    +++ b/drivers/infiniband/hw/mlx5/mr.c
    @@ -1821,7 +1821,6 @@ mlx5_ib_sg_to_klms(struct mlx5_ib_mr *mr

    mr->ibmr.iova = sg_dma_address(sg) + sg_offset;
    mr->ibmr.length = 0;
    - mr->ndescs = sg_nents;

    for_each_sg(sgl, sg, sg_nents, i) {
    if (unlikely(i >= mr->max_descs))
    @@ -1833,6 +1832,7 @@ mlx5_ib_sg_to_klms(struct mlx5_ib_mr *mr

    sg_offset = 0;
    }
    + mr->ndescs = i;

    if (sg_offset_p)
    *sg_offset_p = sg_offset;

    \
     
     \ /
      Last update: 2018-03-16 18:17    [W:3.637 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site