Commit aca3b0fa authored by Saravanan Vajravel's avatar Saravanan Vajravel Committed by Jason Gunthorpe
Browse files

RDMA/core: Fix GID entry ref leak when create_ah fails

If AH create request fails, release sgid_attr to avoid GID entry
referrence leak reported while releasing GID table

Fixes: 1a1f460f ("RDMA: Hold the sgid_attr inside the struct ib_ah/qp")
Link: https://lore.kernel.org/r/20230401063424.342204-1-saravanan.vajravel@broadcom.com


Reviewed-by: default avatarSelvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: default avatarSaravanan Vajravel <saravanan.vajravel@broadcom.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 58e84f6b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);
	}