diff mbox series

[v2,for-rc] RDMA/core: Fix GID entry ref leak when create_ah fails

Message ID 20230401063424.342204-1-saravanan.vajravel@broadcom.com (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series [v2,for-rc] RDMA/core: Fix GID entry ref leak when create_ah fails | expand

Commit Message

Saravanan Vajravel April 1, 2023, 6:34 a.m. UTC
If AH create request fails, release sgid_attr to avoid
GID entry referrence leak reported while releasing GID
table

Fixes: 1a1f460ff151 ("RDMA: Hold the sgid_attr inside the struct ib_ah/qp")
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
---
v1->v2:
 - Fix email trailer message

 drivers/infiniband/core/verbs.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jason Gunthorpe April 12, 2023, 4:36 p.m. UTC | #1
On Fri, Mar 31, 2023 at 11:34:24PM -0700, Saravanan Vajravel wrote:
> If AH create request fails, release sgid_attr to avoid
> GID entry referrence leak reported while releasing GID
> table
> 
> Fixes: 1a1f460ff151 ("RDMA: Hold the sgid_attr inside the struct ib_ah/qp")
> Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
> Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>

Applied to for-next, thanks

Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 11b1c1603aeb..b99b3cc283b6 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -532,6 +532,8 @@  static struct ib_ah *_rdma_create_ah(struct ib_pd *pd,
 	else
 		ret = device->ops.create_ah(ah, &init_attr, NULL);
 	if (ret) {
+		if (ah->sgid_attr)
+			rdma_put_gid_attr(ah->sgid_attr);
 		kfree(ah);
 		return ERR_PTR(ret);
 	}