lkml.org 
[lkml]   [2021]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 039/113] RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init()
    Date
    From: Dinghao Liu <dinghao.liu@zju.edu.cn>

    [ Upstream commit a036ad088306a88de87e973981f2b9224e466c3f ]

    The fixed commit removes all rtnl_lock() and rtnl_unlock() calls in
    function bnxt_re_dev_init(), but forgets to remove a rtnl_unlock() in the
    error handling path of bnxt_re_register_netdev(), which may cause a
    deadlock. This bug is suggested by a static analysis tool.

    Fixes: c2b777a95923 ("RDMA/bnxt_re: Refactor device add/remove functionalities")
    Link: https://lore.kernel.org/r/20210816085531.12167-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Acked-by: Selvin Xavier <selvin.xavier@broadcom.com>
    Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/hw/bnxt_re/main.c | 1 -
    1 file changed, 1 deletion(-)

    diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
    index 25550d982238..8097a8d8a49f 100644
    --- a/drivers/infiniband/hw/bnxt_re/main.c
    +++ b/drivers/infiniband/hw/bnxt_re/main.c
    @@ -1406,7 +1406,6 @@ static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 wqe_mode)
    memset(&rattr, 0, sizeof(rattr));
    rc = bnxt_re_register_netdev(rdev);
    if (rc) {
    - rtnl_unlock();
    ibdev_err(&rdev->ibdev,
    "Failed to register with netedev: %#x\n", rc);
    return -EINVAL;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-01 14:48    [W:4.178 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site