Message ID | 1477575391-20134-6-git-send-email-leon@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Thu, Oct 27, 2016 at 4:36 PM, Leon Romanovsky <leon@kernel.org> wrote: > This bug wasn't seen in the wild because there are no kernel consumers > currently in the kernel. Indeed, it's nice to avoid future bug, but there's no point to put it into rc fix as no new kernel consumers are to be added in 4.9, agree? it's a -next thing -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> Fixes: 319a441d1361 ("IB/core: Add receive flow steering support")
same comment as the other two, probably applies some, most or all
patches on your git hub branch, lets use what was submitted and not
something else, okay?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Nov 18, 2016 at 12:40 AM, Or Gerlitz <gerlitz.or@gmail.com> wrote: >> Fixes: 319a441d1361 ("IB/core: Add receive flow steering support") > > same comment as the other two, probably applies some, most or all > patches on your git hub branch, lets use what was submitted and not > something else, okay? Also, as I commented and you didn't respond, this fix protects against **future** bug and has nothing to do with intree code. As such there's no point to put it into rc fix, it's a -next thing -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index cb3f515a..2690c92 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c @@ -3745,7 +3745,6 @@ int ib_uverbs_ex_create_flow(struct ib_uverbs_file *file, err = PTR_ERR(flow_id); goto err_free; } - flow_id->qp = qp; flow_id->uobject = uobj; uobj->object = flow_id; diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c index 8368764..b7f9f3d 100644 --- a/drivers/infiniband/core/verbs.c +++ b/drivers/infiniband/core/verbs.c @@ -1734,8 +1734,10 @@ struct ib_flow *ib_create_flow(struct ib_qp *qp, return ERR_PTR(-ENOSYS); flow_id = qp->device->create_flow(qp, flow_attr, domain); - if (!IS_ERR(flow_id)) + if (!IS_ERR(flow_id)) { atomic_inc(&qp->usecnt); + flow_id->qp = qp; + } return flow_id; } EXPORT_SYMBOL(ib_create_flow);