From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E8E8C28CBC for ; Wed, 6 May 2020 07:47:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2864D20714 for ; Wed, 6 May 2020 07:47:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588751260; bh=EPYmFwRiOPzq3NEifRHiT+nEDxvH42kUgfkXMDCCSDc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=NJrTcqVOF4PgGLD4NRbM6IUQY7kpAl3u7R6z/NnGyG+HXQ6KqLmNkr25jwud8FpZJ N0ArlIRRdJPjnk3Q+vHH+WESPt7TCtSKL82yfG5jVZ2kovB9ywiVvJd8JuVG7NJZH/ 0eYgjHx/FzQ8wERZj3uBFjN9wYMAnkPfODUNNy90= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728405AbgEFHrj (ORCPT ); Wed, 6 May 2020 03:47:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:41372 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728355AbgEFHrj (ORCPT ); Wed, 6 May 2020 03:47:39 -0400 Received: from localhost (unknown [213.57.247.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6E594206D5; Wed, 6 May 2020 07:47:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588751259; bh=EPYmFwRiOPzq3NEifRHiT+nEDxvH42kUgfkXMDCCSDc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MT9ddl/RrVV+8CCKoWa7jW8/0PgAFGCbbru2gwjBWQ5DCZA9CJKFU4ez9PV0eUMxi bHw5VYV2P2Z99tQt1FIt9NrVLRL4whRICGp2zmrxxVI1BOfAWGxNEH/MCM4Ucc6yEg /rmTD0uzx8zKQJ0ACZXwE0qwEweLbg1JOkKWXpeo= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: linux-rdma@vger.kernel.org Subject: [PATCH rdma-next 10/10] RDMA/cm: Increment the refcount inside cm_find_listen() Date: Wed, 6 May 2020 10:47:01 +0300 Message-Id: <20200506074701.9775-11-leon@kernel.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200506074701.9775-1-leon@kernel.org> References: <20200506074701.9775-1-leon@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Jason Gunthorpe All callers need the 'get', so do it in a central place before returning the pointer. Signed-off-by: Jason Gunthorpe Signed-off-by: Leon Romanovsky --- drivers/infiniband/core/cm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index c8b2088dcd0a..44ab4fc7c5d4 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c @@ -690,9 +690,10 @@ static struct cm_id_private * cm_find_listen(struct ib_device *device, cm_id_priv = rb_entry(node, struct cm_id_private, service_node); if ((cm_id_priv->id.service_mask & service_id) == cm_id_priv->id.service_id && - (cm_id_priv->id.device == device)) + (cm_id_priv->id.device == device)) { + refcount_inc(&cm_id_priv->refcount); return cm_id_priv; - + } if (device < cm_id_priv->id.device) node = node->rb_left; else if (device > cm_id_priv->id.device) @@ -2020,7 +2021,6 @@ static struct cm_id_private * cm_match_req(struct cm_work *work, NULL, 0); return NULL; } - refcount_inc(&listen_cm_id_priv->refcount); spin_unlock_irq(&cm.lock); return listen_cm_id_priv; } @@ -3591,7 +3591,6 @@ static int cm_sidr_req_handler(struct cm_work *work) .status = IB_SIDR_UNSUPPORTED }); goto out; /* No match. */ } - refcount_inc(&listen_cm_id_priv->refcount); spin_unlock_irq(&cm.lock); cm_id_priv->id.cm_handler = listen_cm_id_priv->id.cm_handler; -- 2.26.2