Re: [PATCH] RDMA/rvt: Improve exception handling in rvt_create_qp()

From: Markus Elfring
Date: Sat Jun 13 2020 - 03:15:39 EST


> â The patch fixes this issue by
> calling rvt_free_rq().

I suggest to choose another imperative wording for your change description.
Will the tag âFixesâ become helpful for the commit message?

â
> +++ b/drivers/infiniband/sw/rdmavt/qp.c
> @@ -1203,6 +1203,7 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd,
> qp->s_flags = RVT_S_SIGNAL_REQ_WR;
> err = alloc_ud_wq_attr(qp, rdi->dparms.node);
> if (err) {
> + rvt_free_rq(&qp->r_rq);
> ret = (ERR_PTR(err));
> goto bail_driver_priv;
> }

How do you think about the following code variant with the addition
of a jump target?

err = alloc_ud_wq_attr(qp, rdi->dparms.node);
if (err) {
ret = (ERR_PTR(err));
- goto bail_driver_priv;
+ goto bail_free_rq;
}

â

bail_rq_wq:
- rvt_free_rq(&qp->r_rq);
free_ud_wq_attr(qp);
+
+bail_free_rq:
+ rvt_free_rq(&qp->r_rq);

bail_driver_priv:


Regards,
Markus