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 |
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 --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); }