提交 5b9ea16c 编写于 作者: A Andrew Boyer 提交者: Doug Ledford

IB/rxe: Fix ref leak in rxe_create_qp()

The udata->inlen error path needs to clean up the ref
added by rxe_alloc().
Signed-off-by: NAndrew Boyer <andrew.boyer@dell.com>
Signed-off-by: NDoug Ledford <dledford@redhat.com>
上级 accacb8f
......@@ -564,7 +564,7 @@ static struct ib_qp *rxe_create_qp(struct ib_pd *ibpd,
if (udata) {
if (udata->inlen) {
err = -EINVAL;
goto err1;
goto err2;
}
qp->is_user = 1;
}
......@@ -573,12 +573,13 @@ static struct ib_qp *rxe_create_qp(struct ib_pd *ibpd,
err = rxe_qp_from_init(rxe, qp, pd, init, udata, ibpd);
if (err)
goto err2;
goto err3;
return &qp->ibqp;
err2:
err3:
rxe_drop_index(qp);
err2:
rxe_drop_ref(qp);
err1:
return ERR_PTR(err);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册