[PATCH] IB/ipath: fix some memory leaks on failure paths
Signed-off-by: Robert Walsh <robert.walsh@qlogic.com> Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
4a45b7d4ec
commit
60460dfd42
2 changed files with 3 additions and 0 deletions
|
@ -115,6 +115,7 @@ static int create_port0_egr(struct ipath_devdata *dd)
|
|||
"eager TID %u\n", e);
|
||||
while (e != 0)
|
||||
dev_kfree_skb(skbs[--e]);
|
||||
vfree(skbs);
|
||||
ret = -ENOMEM;
|
||||
goto bail;
|
||||
}
|
||||
|
|
|
@ -692,6 +692,7 @@ struct ib_qp *ipath_create_qp(struct ib_pd *ibpd,
|
|||
case IB_QPT_GSI:
|
||||
qp = kmalloc(sizeof(*qp), GFP_KERNEL);
|
||||
if (!qp) {
|
||||
vfree(swq);
|
||||
ret = ERR_PTR(-ENOMEM);
|
||||
goto bail;
|
||||
}
|
||||
|
@ -702,6 +703,7 @@ struct ib_qp *ipath_create_qp(struct ib_pd *ibpd,
|
|||
qp->r_rq.wq = vmalloc(qp->r_rq.size * sz);
|
||||
if (!qp->r_rq.wq) {
|
||||
kfree(qp);
|
||||
vfree(swq);
|
||||
ret = ERR_PTR(-ENOMEM);
|
||||
goto bail;
|
||||
}
|
||||
|
|
Reference in a new issue