Message ID | 7615f23bbb5c5b66d03f6fa13e1c99d51dae6916.1642581448.git.leonro@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | [rdma-next] IB/cm: Release previously acquired reference counter in the cm_id_priv | expand |
On Wed, Jan 19, 2022 at 10:37:55AM +0200, Leon Romanovsky wrote: > From: Mark Zhang <markzhang@nvidia.com> > > In failure flow, the reference counter acquired was not released, > and the following error was reported: > > drivers/infiniband/core/cm.c:3373 cm_lap_handler() warn: inconsistent > refcounting 'cm_id_priv->refcount.refs.counter': > > Fixes: 7345201c3963 ("IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path") > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Mark Zhang <markzhang@nvidia.com> > Signed-off-by: Leon Romanovsky <leonro@nvidia.com> > --- > drivers/infiniband/core/cm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to for-rc, thanks Jason
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index c903b74f46a4..35f0d5e7533d 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c @@ -3322,7 +3322,7 @@ static int cm_lap_handler(struct cm_work *work) ret = cm_init_av_by_path(param->alternate_path, NULL, &alt_av); if (ret) { rdma_destroy_ah_attr(&ah_attr); - return -EINVAL; + goto deref; } spin_lock_irq(&cm_id_priv->lock);