Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b9ea16c authored by Andrew Boyer's avatar Andrew Boyer Committed by Doug Ledford
Browse files

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: default avatarAndrew Boyer <andrew.boyer@dell.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent accacb8f
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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);