From patchwork Tue Sep 12 18:22:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 138364 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp599671vqx; Tue, 12 Sep 2023 11:26:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFEZLlHojn39tSucA+ml0CtC3YvJlqI24XY2+LgOPNwRf8uStjZ77W2IhhyPVauPRpC99NE X-Received: by 2002:a17:903:234f:b0:1bc:8c6c:217d with SMTP id c15-20020a170903234f00b001bc8c6c217dmr535367plh.61.1694543195741; Tue, 12 Sep 2023 11:26:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694543195; cv=none; d=google.com; s=arc-20160816; b=FMgydyFbvcRz2HLzbbYgBsIJUxNL317w+5L+9GMsW/u+d+jsHiPdsVsY3gjzdRNuwD AhnLjt7HZex/2BGWuKyQ29KkSibewd5qic/MP6LOApzoVAD+/z3aXri2V+3Oay4T7VWj 4SpVcf2sDoi6CEzz5lo5MRNhSctu/xax0dyjrItLZsRswl7PeGM04x5jowvDSwzWS0sO 3+VOEvxrUqRSW0aqm40U8qS5vnSWnI+sqT0LJgn1/nrkTft1vxq78g7EHiNzDuqp+Mn7 UVScODfqtL4qvFN/ucF1JMH50B7criirVikeIklGsjrOG9N/qLnYXIMbzqShfnS6Ie36 qXCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=BZYZJ3qyy0NKGtiCZhV0U8O1j3tbn8OT8azHpyW01kY=; fh=MiYVVAY/fEeYgEsvEhvUQZLwHrXLpo+xVaIO8ONh2qE=; b=Mz5yJs3vfBMkIVdf7jcdwT/5QSw8grun/YbuRMG530oq3HCsZjZJaisMwkXeYXLmwz Zh6hi6k+Sl+sjGsGxAmV/+iF9ZvHIPCHOAH4D1jm1aQf+MQi0PRw6/q8ypcy/AZV3Inf uE5hMqHZmW+/sq/9QwJEkkySvg47encq1iRweX0Ubwv0gPN7hi/PPWLm+9gQjtBVuc3S YSTpxNDJ4+JY3AgqXrtwlKX7Qgb7kuW3ek1KXtT+5yzbK4RqkXeaW9l9308BQ5bBFF1x uVALroHuLzXWiAuqqB/VsZaiiXR+0SBI49CxITaSa/Hrr/M7VCMPBlEF6NQn5qSyRCD9 mJNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id lh16-20020a170903291000b001c33d7759c8si8249604plb.47.2023.09.12.11.26.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 11:26:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 7F919807245B; Tue, 12 Sep 2023 11:22:46 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237372AbjILSWa (ORCPT + 36 others); Tue, 12 Sep 2023 14:22:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58182 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237214AbjILSW0 (ORCPT ); Tue, 12 Sep 2023 14:22:26 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54AE210DF for ; Tue, 12 Sep 2023 11:22:22 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02DEEC433CA; Tue, 12 Sep 2023 18:22:22 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1qg824-000JS3-1l; Tue, 12 Sep 2023 14:22:40 -0400 Message-ID: <20230912182240.361479245@goodmis.org> User-Agent: quilt/0.66 Date: Tue, 12 Sep 2023 14:22:15 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Ajay Kaher , "Paul E. McKenney" Subject: [for-linus][PATCH 2/3] tracefs/eventfs: Use list_for_each_srcu() in dcache_dir_open_wrapper() References: <20230912182213.795801173@goodmis.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 12 Sep 2023 11:22:46 -0700 (PDT) X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776857326221490466 X-GMAIL-MSGID: 1776857326221490466 From: "Steven Rostedt (Google)" The eventfs files list is protected by SRCU. In earlier iterations it was protected with just RCU, but because it needed to also call sleepable code, it had to be switch to SRCU. The dcache_dir_open_wrapper() list_for_each_rcu() was missed and did not get converted over to list_for_each_srcu(). That needs to be fixed. Link: https://lore.kernel.org/linux-trace-kernel/20230911120053.ca82f545e7f46ea753deda18@kernel.org/ Link: https://lore.kernel.org/linux-trace-kernel/20230911200654.71ce927c@gandalf.local.home Cc: Mark Rutland Cc: Ajay Kaher Cc: "Paul E. McKenney" Reported-by: Masami Hiramatsu (Google) Fixes: 63940449555e7 ("eventfs: Implement eventfs lookup, read, open functions") Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/event_inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index f168aca45458..9f64e7332796 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -452,7 +452,8 @@ static int dcache_dir_open_wrapper(struct inode *inode, struct file *file) ei = ti->private; idx = srcu_read_lock(&eventfs_srcu); - list_for_each_entry_rcu(ef, &ei->e_top_files, list) { + list_for_each_entry_srcu(ef, &ei->e_top_files, list, + srcu_read_lock_held(&eventfs_srcu)) { create_dentry(ef, dentry, false); } srcu_read_unlock(&eventfs_srcu, idx);