lkml.org 
[lkml]   [2016]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 218/305] IB/mlx4: Fix memory leak if QP creation failed
    3.16.37-rc1 review patch.  If anyone has any objections, please let me know.

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

    From: Dotan Barak <dotanb@dev.mellanox.co.il>

    commit 5b420d9cf7382c6e1512e96e02d18842d272049c upstream.

    When RC, UC, or RAW QPs are created, a qp object is allocated (kzalloc).
    If at a later point (in procedure create_qp_common) the qp creation fails,
    this qp object must be freed.

    Fixes: 1ffeb2eb8be99 ("IB/mlx4: SR-IOV IB context objects and proxy/tunnel SQP support")
    Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/infiniband/hw/mlx4/qp.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/infiniband/hw/mlx4/qp.c
    +++ b/drivers/infiniband/hw/mlx4/qp.c
    @@ -1108,8 +1108,10 @@ struct ib_qp *mlx4_ib_create_qp(struct i
    {
    err = create_qp_common(to_mdev(pd->device), pd, init_attr,
    udata, 0, &qp, gfp);
    - if (err)
    + if (err) {
    + kfree(qp);
    return ERR_PTR(err);
    + }

    qp->ibqp.qp_num = qp->mqp.qpn;
    qp->xrcdn = xrcdn;
    \
     
     \ /
      Last update: 2016-09-17 09:56    [W:2.150 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site