mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
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: 1a1f460ff1
("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: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
58e84f6b3e
commit
aca3b0fa3d
1 changed files with 2 additions and 0 deletions
|
@ -532,6 +532,8 @@ static struct ib_ah *_rdma_create_ah(struct ib_pd *pd,
|
||||||
else
|
else
|
||||||
ret = device->ops.create_ah(ah, &init_attr, NULL);
|
ret = device->ops.create_ah(ah, &init_attr, NULL);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
if (ah->sgid_attr)
|
||||||
|
rdma_put_gid_attr(ah->sgid_attr);
|
||||||
kfree(ah);
|
kfree(ah);
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue