|
Thomas Bogendoerfer |
15217c |
From: Mark Bloch <markb@mellanox.com>
|
|
Thomas Bogendoerfer |
15217c |
Date: Mon, 11 Feb 2019 17:40:54 +0200
|
|
Thomas Bogendoerfer |
15217c |
Subject: RDMA/mlx5: Fix memory leak in case we fail to add an IB device
|
|
Thomas Bogendoerfer |
15217c |
MIME-Version: 1.0
|
|
Thomas Bogendoerfer |
15217c |
Content-Type: text/plain; charset=UTF-8
|
|
Thomas Bogendoerfer |
15217c |
Content-Transfer-Encoding: 8bit
|
|
Thomas Bogendoerfer |
15217c |
Patch-mainline: v5.1-rc1
|
|
Thomas Bogendoerfer |
15217c |
Git-commit: fc9e4477f924e84d7798f7a1d41401d699de1219
|
|
Thomas Bogendoerfer |
15217c |
References: bsc#1103991 FATE#326007
|
|
Thomas Bogendoerfer |
15217c |
|
|
Thomas Bogendoerfer |
15217c |
Make sure the IB device is freed on failure.
|
|
Thomas Bogendoerfer |
15217c |
|
|
Thomas Bogendoerfer |
15217c |
Fixes: b5ca15ad7e61 ("IB/mlx5: Add proper representors support")
|
|
Thomas Bogendoerfer |
15217c |
Signed-off-by: Mark Bloch <markb@mellanox.com>
|
|
Thomas Bogendoerfer |
15217c |
Reviewed-by: Bodong Wang <bodong@mellanox.com>
|
|
Thomas Bogendoerfer |
15217c |
Reviewed-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
|
|
Thomas Bogendoerfer |
15217c |
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
|
|
Thomas Bogendoerfer |
15217c |
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
Thomas Bogendoerfer |
15217c |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
15217c |
---
|
|
Thomas Bogendoerfer |
15217c |
drivers/infiniband/hw/mlx5/ib_rep.c | 4 +++-
|
|
Thomas Bogendoerfer |
15217c |
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
Thomas Bogendoerfer |
15217c |
|
|
Thomas Bogendoerfer |
15217c |
--- a/drivers/infiniband/hw/mlx5/ib_rep.c
|
|
Thomas Bogendoerfer |
15217c |
+++ b/drivers/infiniband/hw/mlx5/ib_rep.c
|
|
Thomas Bogendoerfer |
15217c |
@@ -66,8 +66,10 @@ mlx5_ib_vport_rep_load(struct mlx5_core_
|
|
Thomas Bogendoerfer |
15217c |
ibdev->mdev = dev;
|
|
Thomas Bogendoerfer |
15217c |
ibdev->num_ports = max(MLX5_CAP_GEN(dev, num_ports),
|
|
Thomas Bogendoerfer |
15217c |
MLX5_CAP_GEN(dev, num_vhca_ports));
|
|
Thomas Bogendoerfer |
15217c |
- if (!__mlx5_ib_add(ibdev, &rep_profile))
|
|
Thomas Bogendoerfer |
15217c |
+ if (!__mlx5_ib_add(ibdev, &rep_profile)) {
|
|
Thomas Bogendoerfer |
15217c |
+ ib_dealloc_device(&ibdev->ib_dev);
|
|
Thomas Bogendoerfer |
15217c |
return -EINVAL;
|
|
Thomas Bogendoerfer |
15217c |
+ }
|
|
Thomas Bogendoerfer |
15217c |
|
|
Thomas Bogendoerfer |
15217c |
rep->rep_if[REP_IB].priv = ibdev;
|
|
Thomas Bogendoerfer |
15217c |
|