lkml.org 
[lkml]   [2020]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 104/152] IB/mthca: fix return value of error branch in mthca_init_cq()
    Date
    From: Xiongfeng Wang <wangxiongfeng2@huawei.com>

    [ Upstream commit 6830ff853a5764c75e56750d59d0bbb6b26f1835 ]

    We return 'err' in the error branch, but this variable may be set as zero
    by the above code. Fix it by setting 'err' as a negative value before we
    goto the error label.

    Fixes: 74c2174e7be5 ("IB uverbs: add mthca user CQ support")
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Link: https://lore.kernel.org/r/1605837422-42724-1-git-send-email-wangxiongfeng2@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/hw/mthca/mthca_cq.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c b/drivers/infiniband/hw/mthca/mthca_cq.c
    index c3cfea243af8c..119b2573c9a08 100644
    --- a/drivers/infiniband/hw/mthca/mthca_cq.c
    +++ b/drivers/infiniband/hw/mthca/mthca_cq.c
    @@ -803,8 +803,10 @@ int mthca_init_cq(struct mthca_dev *dev, int nent,
    }

    mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL);
    - if (IS_ERR(mailbox))
    + if (IS_ERR(mailbox)) {
    + err = PTR_ERR(mailbox);
    goto err_out_arm;
    + }

    cq_context = mailbox->buf;

    @@ -846,9 +848,9 @@ int mthca_init_cq(struct mthca_dev *dev, int nent,
    }

    spin_lock_irq(&dev->cq_table.lock);
    - if (mthca_array_set(&dev->cq_table.cq,
    - cq->cqn & (dev->limits.num_cqs - 1),
    - cq)) {
    + err = mthca_array_set(&dev->cq_table.cq,
    + cq->cqn & (dev->limits.num_cqs - 1), cq);
    + if (err) {
    spin_unlock_irq(&dev->cq_table.lock);
    goto err_out_free_mr;
    }
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-01 10:40    [W:2.096 / U:0.420 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site