Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1993338ybv; Fri, 14 Feb 2020 09:27:17 -0800 (PST) X-Google-Smtp-Source: APXvYqzr3Ibz01CpJkX6qVz5wtJiHkHQZWKAmCsJTl+JAYD8fmsLfRq1BL1JwYDYycyzltDDLyYA X-Received: by 2002:a9d:34c:: with SMTP id 70mr3013882otv.174.1581701237518; Fri, 14 Feb 2020 09:27:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581701237; cv=none; d=google.com; s=arc-20160816; b=A+yzXrYGFao8dS3IdHkYLbfVdzlp8TPLB6Vk2KUOuA4Kn9pjYxxJF1QGgyyIcZq4jJ 64SNUpfoZict7Gh7t/4/H8R2J4Hf7FaiR1+VO59dzlFe2Y6PYJzKb7AhRMAMUiLoLamY b57cM8rzyupn3qZkZD9RyaN3iUIht5LuSGt/admRvQXJ55mIALpuQijHYf9qZfBVguWd EhzcVcVuqjctSqCiRAa/idFVzQ55o43nNN8VLnXxaQWuZfOgbbt79CU6a7IdQEQq8EAf TpmCf7wU9HcHTswR6ACbze8Vy3bEKXWCe14jWq8CAuAYDZPh/xxarL5jr3jdVDKvjGGo n1pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=EsXgG+NuhKh//4aLKo8mlysDGPxSSOb00D8586N+oi0=; b=fFegv7wJc8v4VastHjgnTotO1voNjRwDJ+GGGLhCd0gfRUeUo5XtkDHgYyBUyRb5jc RE1Vveqa0tSGfI36t2SYBxc4+s94Qx+m1CJI+Jk8h+TF7oiqXwm28QYKsIhyTLAaPdyp cIU4BeFEIBCWM4E8EuvZhuBKu0G781La2g0Jx0Eo/sIQCgOoF36eIlPw9shOo6MgJqy5 Jv5VIO9VoFy/hV65kQdFu0a9HSPYaDUa+WEL1kFAKM2pnKpNTQNwoZiVyKEKTgKRGlsJ wYQaYvh41JBPZhM7grb2SN4r7TF3cguG0VSi3AeGHjZhPaVvPubogtxduR+jLeVnFi9e gKyw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m4si3167513otr.268.2020.02.14.09.27.05; Fri, 14 Feb 2020 09:27:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392392AbgBNR0j (ORCPT + 99 others); Fri, 14 Feb 2020 12:26:39 -0500 Received: from mga09.intel.com ([134.134.136.24]:40382 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390996AbgBNR0i (ORCPT ); Fri, 14 Feb 2020 12:26:38 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Feb 2020 09:26:37 -0800 X-IronPort-AV: E=Sophos;i="5.70,441,1574150400"; d="scan'208";a="223081578" Received: from ddalessa-mobl.amr.corp.intel.com (HELO [10.254.204.146]) ([10.254.204.146]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 14 Feb 2020 09:26:35 -0800 Subject: Re: [PATCH 3/3] infiniband: sw: rdmavt: mcast.c: Use built-in RCU list checking To: madhuparnabhowmik04@gmail.com, mike.marciniszyn@intel.com, jgg@ziepe.ca, paulmck@kernel.org Cc: joel@joelfernandes.org, frextrite@gmail.com, linux-kernel-mentees@lists.linuxfoundation.org, rcu@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org References: <20200114162536.20388-1-madhuparnabhowmik04@gmail.com> From: Dennis Dalessandro Message-ID: Date: Fri, 14 Feb 2020 12:26:34 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <20200114162536.20388-1-madhuparnabhowmik04@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/14/2020 11:25 AM, madhuparnabhowmik04@gmail.com wrote: > From: Madhuparna Bhowmik > > Use built-in RCU and lock-checking for list_for_each_entry_rcu() > by passing the cond argument. > > Signed-off-by: Madhuparna Bhowmik > --- > drivers/infiniband/sw/rdmavt/mcast.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/rdmavt/mcast.c b/drivers/infiniband/sw/rdmavt/mcast.c > index dd11c6fcd060..31c7f12c7665 100644 > --- a/drivers/infiniband/sw/rdmavt/mcast.c > +++ b/drivers/infiniband/sw/rdmavt/mcast.c > @@ -224,7 +224,7 @@ static int rvt_mcast_add(struct rvt_dev_info *rdi, struct rvt_ibport *ibp, > } > > /* Search the QP list to see if this is already there. */ > - list_for_each_entry_rcu(p, &tmcast->qp_list, list) { > + list_for_each_entry_rcu(p, &tmcast->qp_list, list, lockdep_is_held(&(ibp->lock))) { > if (p->qp == mqp->qp) { > ret = ESRCH; > goto bail; > This one is OK. The lock is held and it is the correct one to use when updating the list. Reviewed-by: Dennis Dalessandro