From patchwork Thu Nov 23 17:25:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 169065 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp605037vqx; Thu, 23 Nov 2023 09:32:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IEEy9z55mlijQCLCgNJjUI0yqbCKxIfGbRnTps5h8nlvEPUQT/HoVC+aHYtap1laNgmfpU1 X-Received: by 2002:a17:902:b487:b0:1cf:8c97:e587 with SMTP id y7-20020a170902b48700b001cf8c97e587mr116050plr.53.1700760749785; Thu, 23 Nov 2023 09:32:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700760749; cv=none; d=google.com; s=arc-20160816; b=mBDCn9dPj8z4mW8hgu6JViXgR9G6sMuc4y6Aesbc/NS8BTNTiuepou5xJbVAgNbCm5 J1gsSAATxlr6ZtYSCiP7Lm9Rp+eQ9mdYB7/oh9rlN2TXoIWRGVgrb5UeraqhEYtx8gLP Ee4gaZ9vtLxoh8lxQqZ4RktYHJKpQasr+5hpSUqWtfvwORC8OWDJYARGxJB3bln64lXH U5H42ck65+WTLB1I+UgOErSylyOENJvvWjnkvlME9p0O6bTipXyBN0HF2R3361d3LPb9 Z7ptbL+zeZlDdqXqkfJHrfQl/1mCVEQgcPBAh4ugWRft5i5P86d3vEurJ5pTHcw4gNRv /i4A== 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=I2FVMAsZhF/55cGfKltRX6EwJnLI822Xjsp9E3Et4tQ=; fh=mgEK3u4FNCVZrw2eK4ElottVljJzztdE8jidxZTIxyU=; b=RWMHr9hY7lo7nCHUHfLnSmv8rCxFWqEQKL+1bacMuUlKXH8Eo1laSy1bw/cmfnJ7FP rBPQF2fW/HkxSJdteTx8AVrYVpblzQyj+HDnuZ7IC5WjFbYyY1wuhoM3Wv5fYrABeZsm 7+g7rvDB20/EhPGl65cqD82dCmXUrsG38Bu4vLNJqV/yGja5rsslkDFsIADEE8oXjNwx XCMeZeAoyiITMFBmnUE42CGWVxmFDf4y7dOcAZUJ4QAfmF10a0N0xFlfIeKRsxBhZ7Vx O5oywxWxmCXuGhJUa66ky4XOTUO4z5NZSNTln8+n5to88ISIh3Wg/2fbG/0UlhyNugqx qCfQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id jd7-20020a170903260700b001c88fc3c5a1si1451798plb.461.2023.11.23.09.32.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 09:32:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id 7028480A5F58; Thu, 23 Nov 2023 09:30:28 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345478AbjKWRaO (ORCPT + 99 others); Thu, 23 Nov 2023 12:30:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229526AbjKWRaK (ORCPT ); Thu, 23 Nov 2023 12:30:10 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 646E01B3 for ; Thu, 23 Nov 2023 09:30:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCB46C433CA; Thu, 23 Nov 2023 17:30:16 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97-RC3) (envelope-from ) id 1r6DX8-0000000365q-36UQ; Thu, 23 Nov 2023 12:30:34 -0500 Message-ID: <20231123173034.605245865@goodmis.org> User-Agent: quilt/0.67 Date: Thu, 23 Nov 2023 12:25:40 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Josef Bacik Subject: [for-linus][PATCH 1/5] eventfs: Use GFP_NOFS for allocation when eventfs_mutex is held References: <20231123172539.582640797@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 23 Nov 2023 09:30:28 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783376903773264505 X-GMAIL-MSGID: 1783376903773264505 From: "Steven Rostedt (Google)" If memory reclaim happens, it can reclaim file system pages. The file system pages from eventfs may take the eventfs_mutex on reclaim. This means that allocation while holding the eventfs_mutex must not call into filesystem reclaim. A lockdep splat uncovered this. Link: https://lkml.kernel.org/r/20231121231112.373501894@goodmis.org Cc: Masami Hiramatsu Cc: Andrew Morton Fixes: 28e12c09f5aa0 ("eventfs: Save ownership and mode") Fixes: 5790b1fb3d672 ("eventfs: Remove eventfs_file and just use eventfs_inode") Reported-by: Mark Rutland Reviewed-by: Josef Bacik Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/event_inode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 3eb6c622a74d..56d192f0ead8 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -95,7 +95,7 @@ static int eventfs_set_attr(struct mnt_idmap *idmap, struct dentry *dentry, if (!(dentry->d_inode->i_mode & S_IFDIR)) { if (!ei->entry_attrs) { ei->entry_attrs = kzalloc(sizeof(*ei->entry_attrs) * ei->nr_entries, - GFP_KERNEL); + GFP_NOFS); if (!ei->entry_attrs) { ret = -ENOMEM; goto out; @@ -627,7 +627,7 @@ static int add_dentries(struct dentry ***dentries, struct dentry *d, int cnt) { struct dentry **tmp; - tmp = krealloc(*dentries, sizeof(d) * (cnt + 2), GFP_KERNEL); + tmp = krealloc(*dentries, sizeof(d) * (cnt + 2), GFP_NOFS); if (!tmp) return -1; tmp[cnt] = d; From patchwork Thu Nov 23 17:25:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 169063 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp603775vqx; Thu, 23 Nov 2023 09:30:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IH1CRkoZrW2Wl6r2NG10IVU5vjx+pnxl/n75Yf1iv0VruVYZHpvmN+0qJJYaBrOYk0W3ow5 X-Received: by 2002:a05:6808:494:b0:3b8:4614:8b27 with SMTP id z20-20020a056808049400b003b846148b27mr13656oid.50.1700760641280; Thu, 23 Nov 2023 09:30:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700760641; cv=none; d=google.com; s=arc-20160816; b=bgQ+7EFrMayx4qX/VMRwLH4YfhchrHx9QEbgnDxcK6p8jxBdhfCfFZxJWt5qlWilbk gih6nPMYu8BExHrrtFKcsDoOWcvYk5M8rOK2L0hY6+dK/9MSSoQV8+0hI+DOWZg0f1Vl j0AVT2jUCDHGATJni8WTnE7DETZJ+6hJwyga6KSwa1lag55yIj0fSJqu1Mmvl//TwCr6 ZC81voFi4LHORmTmuQQZlasbLKHyAOHCz3Sf2ZWIEyqRCoXEgoP2QJAQiB8bad4YfMbj HjTAqAlpBEkuu2uUYweuuh03Umv61rf/ew9WwUh/IaHbvOT82aZaJ5+0TY1xuiE6R/K3 k4ew== 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=Rc83a4iOi5lSzIP31HQMJsqs+n4Ui2GRvQ+MXL+rwnI=; fh=mgEK3u4FNCVZrw2eK4ElottVljJzztdE8jidxZTIxyU=; b=EdWT7XFijeC1XsCTyd/hmNnjIo3IMuWCG8DHjlazqFf5/D6+DHb3ECkQiVHQFmB1WE H8lEhXWI3BH7nH9jn34Wz2JF7p0s10NJHV8EqPGtCJ43Ll60F1dnS0nDbyhUiZtaDf/V 5zQv2UUCYCFujpECTvIKVQvbScCvVasD5usnz45igzasKHzEmoWoHN1/DxGt0AUTm+G2 AG0rQ0w/HNuyHp2C0SVEHdp/3bgkTY1eRZg4XjduLyKWkBROu0v06enudxLRq9kK+js9 rRpCQg1EhY1e18GZvFdQllUWrRwRDf20qXox41bxz8vtlZU767m+eQYzLvI4x+f/HEY1 RUKA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id bp6-20020a056808238600b003b842e26108si656422oib.57.2023.11.23.09.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 09:30:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (Postfix) with ESMTP id F41408083A86; Thu, 23 Nov 2023 09:30:34 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345539AbjKWRaT (ORCPT + 99 others); Thu, 23 Nov 2023 12:30:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60720 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229929AbjKWRaL (ORCPT ); Thu, 23 Nov 2023 12:30:11 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E1651BE for ; Thu, 23 Nov 2023 09:30:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4202FC433CC; Thu, 23 Nov 2023 17:30:17 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97-RC3) (envelope-from ) id 1r6DX8-0000000366d-3kxu; Thu, 23 Nov 2023 12:30:34 -0500 Message-ID: <20231123173034.759631168@goodmis.org> User-Agent: quilt/0.67 Date: Thu, 23 Nov 2023 12:25:41 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Josef Bacik Subject: [for-linus][PATCH 2/5] eventfs: Move taking of inode_lock into dcache_dir_open_wrapper() References: <20231123172539.582640797@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email 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 (howler.vger.email [0.0.0.0]); Thu, 23 Nov 2023 09:30:35 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783376790010664074 X-GMAIL-MSGID: 1783376790010664074 From: "Steven Rostedt (Google)" The both create_file_dentry() and create_dir_dentry() takes a boolean parameter "lookup", as on lookup the inode_lock should already be taken, but for dcache_dir_open_wrapper() it is not taken. There's no reason that the dcache_dir_open_wrapper() can't take the inode_lock before calling these functions. In fact, it's better if it does, as the lock can be held throughout both directory and file creations. This also simplifies the code, and possibly prevents unexpected race conditions when the lock is released. Link: https://lkml.kernel.org/r/20231121231112.528544825@goodmis.org Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Andrew Morton Fixes: 5790b1fb3d672 ("eventfs: Remove eventfs_file and just use eventfs_inode") Reviewed-by: Josef Bacik Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/event_inode.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 56d192f0ead8..590e8176449b 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -347,15 +347,8 @@ create_file_dentry(struct eventfs_inode *ei, int idx, mutex_unlock(&eventfs_mutex); - /* The lookup already has the parent->d_inode locked */ - if (!lookup) - inode_lock(parent->d_inode); - dentry = create_file(name, mode, attr, parent, data, fops); - if (!lookup) - inode_unlock(parent->d_inode); - mutex_lock(&eventfs_mutex); if (IS_ERR_OR_NULL(dentry)) { @@ -453,15 +446,8 @@ create_dir_dentry(struct eventfs_inode *pei, struct eventfs_inode *ei, } mutex_unlock(&eventfs_mutex); - /* The lookup already has the parent->d_inode locked */ - if (!lookup) - inode_lock(parent->d_inode); - dentry = create_dir(ei, parent); - if (!lookup) - inode_unlock(parent->d_inode); - mutex_lock(&eventfs_mutex); if (IS_ERR_OR_NULL(dentry) && !ei->is_freed) { @@ -693,6 +679,7 @@ static int dcache_dir_open_wrapper(struct inode *inode, struct file *file) return -ENOMEM; } + inode_lock(parent->d_inode); list_for_each_entry_srcu(ei_child, &ei->children, list, srcu_read_lock_held(&eventfs_srcu)) { d = create_dir_dentry(ei, ei_child, parent, false); @@ -725,6 +712,7 @@ static int dcache_dir_open_wrapper(struct inode *inode, struct file *file) cnt++; } } + inode_unlock(parent->d_inode); srcu_read_unlock(&eventfs_srcu, idx); ret = dcache_dir_open(inode, file); From patchwork Thu Nov 23 17:25:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 169066 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp605070vqx; Thu, 23 Nov 2023 09:32:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IFJdLzXCYV7blHyfFiHOmkzywucKKShEjY15HSxDQSoxJKfDocPXPAsPXqEahzjXzI+PUfO X-Received: by 2002:aa7:9a87:0:b0:6bb:8982:411c with SMTP id x7-20020aa79a87000000b006bb8982411cmr170207pfi.8.1700760753367; Thu, 23 Nov 2023 09:32:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700760753; cv=none; d=google.com; s=arc-20160816; b=qDhKNLe7A/xAwAuwHLXtRFB/2SLGq673GI53H0/69f0Mt6L34AVlaWm20Nv2uZJv2v jSnprlNFmR/OqEzn3SlfpS14iV8M+y75kM5uBCsFLvZkQtkj/ylSbYRhrMbsQI7pUJkN XVbb0zNOmKbNxFc1UtXHiPcyyoVeDpO4UGR127q11PkTbT7kxq4sk5tBppndeth9vrH6 /0V2Jm0KXzisOT6RIq/DHPfPAZ4WfAsRrvDdPxHBoebTYi7Hq/ecIp4kknZn67ovlwhm cXPdfMtb5tsG4BVT5jHhAfWMZd8KzoMtJ/HFeX4D0UmoAEjoueNae3qnBPMakc+O47Nx GKlQ== 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=BL+OQkvdu8IoyqUBYtzyXRoQDFcBE614btAYpN/4iVI=; fh=mgEK3u4FNCVZrw2eK4ElottVljJzztdE8jidxZTIxyU=; b=KfhbXEZcoMmf3QFIayHOCKrWr6Qb/9DsL4TgRwcdygMxVDzZkvAsVgRRWvSU6V7bsY KiUdLiaHTY/hWlUjHWl8tItE6wP0kNUG6p9TU/iYDYmOH/lP/SNZCWRVy9r14pgWToWL SrVGgRiHV/E8XiOB+VrvjmAsn8XAPUK65I8KKPQY7y23gshSU/fwjFa+5OSoDtYJba3D XBgmnlPBWnpr46BndeiY0nG11gJpykWo1DyZvqHbgtbWQrMvGpiEvcc8HZY6dIbEt0kV mLTENCLDsCRu+1JYyQr7+15hZU6fQLw02WQNfw+q0k9I0E1ez4PB52r7LoC7HxC5mYYv QrnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id bi5-20020a056a02024500b005c203ad2343si1817849pgb.94.2023.11.23.09.32.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 09:32:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id 05582804E6BB; Thu, 23 Nov 2023 09:30:34 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345497AbjKWRaR (ORCPT + 99 others); Thu, 23 Nov 2023 12:30:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229686AbjKWRaL (ORCPT ); Thu, 23 Nov 2023 12:30:11 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91C6D1BF for ; Thu, 23 Nov 2023 09:30:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4342FC433D9; Thu, 23 Nov 2023 17:30:17 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97-RC3) (envelope-from ) id 1r6DX9-00000003678-0EDW; Thu, 23 Nov 2023 12:30:35 -0500 Message-ID: <20231123173034.915220118@goodmis.org> User-Agent: quilt/0.67 Date: Thu, 23 Nov 2023 12:25:42 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Josef Bacik Subject: [for-linus][PATCH 3/5] eventfs: Do not allow NULL parent to eventfs_start_creating() References: <20231123172539.582640797@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 23 Nov 2023 09:30:35 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783376907904358954 X-GMAIL-MSGID: 1783376907904358954 From: "Steven Rostedt (Google)" The eventfs directory is dynamically created via the meta data supplied by the existing trace events. All files and directories in eventfs has a parent. Do not allow NULL to be passed into eventfs_start_creating() as the parent because that should never happen. Warn if it does. Link: https://lkml.kernel.org/r/20231121231112.693841807@goodmis.org Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Andrew Morton Reviewed-by: Josef Bacik Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/inode.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c index 5b54948514fe..ae648deed019 100644 --- a/fs/tracefs/inode.c +++ b/fs/tracefs/inode.c @@ -509,20 +509,15 @@ struct dentry *eventfs_start_creating(const char *name, struct dentry *parent) struct dentry *dentry; int error; + /* Must always have a parent. */ + if (WARN_ON_ONCE(!parent)) + return ERR_PTR(-EINVAL); + error = simple_pin_fs(&trace_fs_type, &tracefs_mount, &tracefs_mount_count); if (error) return ERR_PTR(error); - /* - * If the parent is not specified, we create it in the root. - * We need the root dentry to do this, which is in the super - * block. A pointer to that is in the struct vfsmount that we - * have around. - */ - if (!parent) - parent = tracefs_mount->mnt_root; - if (unlikely(IS_DEADDIR(parent->d_inode))) dentry = ERR_PTR(-ENOENT); else From patchwork Thu Nov 23 17:25:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 169064 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp603950vqx; Thu, 23 Nov 2023 09:30:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IEDEAiQhinMgsA9OIzaATO8meN2Af81rfOqZ804aw453EjwrC/ZFojQ7OQOQOXPuQv6+3e4 X-Received: by 2002:a05:6a00:4c14:b0:6b4:231b:a45c with SMTP id ea20-20020a056a004c1400b006b4231ba45cmr139830pfb.26.1700760652727; Thu, 23 Nov 2023 09:30:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700760652; cv=none; d=google.com; s=arc-20160816; b=Q/KrsIocYjsd9t2Kylyrl9IGWQzj4HFBOxctHu9MZ2wPy+R7aEMgRexh0RUeOL774X QGNz4T/dqTYJl3wKOxFRMmL8yU4O+i02gdMpbu+YPdzadmZspcpLVNJUs7rM900WQEKh oqrXTPe4Q32L4YCcbqVetb1dDAEZvaJYqWBeIRzyLXiiaOPydnPicYTMWczeuO63hfu5 m7es4hpghP5/Sv7H5uGG2MQViJOjshK6XHtMhZVRhWYfdlvRSJCBz/LRb80GyM/Qh1Pb uGgxMTUjJqSZdAMHWfektNsOBiQISRpAwVLMPDuuNmkPR/o7E4Hpj+/xCOzkEGMOA9+A v3hg== 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=I7OVvNGEf93Qr62jtjOm6nMR6em9g1HjNj5Cf0Ve8eQ=; fh=mgEK3u4FNCVZrw2eK4ElottVljJzztdE8jidxZTIxyU=; b=RGPC13exofjC/ucsIkggToHjWddQ6aOhXcfi+6v7cMTDwrZ5E8YXWeBP45gX1VCz1h 6FaRdaw7uRA1hxPgE71LDjB80B56rwQSNtIHynvb5omhvKOh7y7aiS0oT7d6L/QH2ups iX53xYFzTjXCo9rO6x+DQWa0+EqauplJYt7gajMU/QOf5A+urFkHYvhyf03pxi1BFXl6 YqxJlgpf7sQHqdlJp2atzJ2TW6Gplew7jTX4PY9KoSpN3cfmhsoAUwdg7LNXRgixaM7V 8wMN7UfHRSPUYJa5XKaXa9RraWOvdUuiT1ykEAA1r67ujEqiZOgyARQXWNRfjJgDnRkG bOaw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id d10-20020a65424a000000b005c278210f82si1655022pgq.544.2023.11.23.09.30.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 09:30:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (Postfix) with ESMTP id 47770806AFE4; Thu, 23 Nov 2023 09:30:49 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345564AbjKWRaW (ORCPT + 99 others); Thu, 23 Nov 2023 12:30:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229921AbjKWRaL (ORCPT ); Thu, 23 Nov 2023 12:30:11 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0142D44 for ; Thu, 23 Nov 2023 09:30:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4AC91C43391; Thu, 23 Nov 2023 17:30:17 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97-RC3) (envelope-from ) id 1r6DX9-0000000367c-0sgZ; Thu, 23 Nov 2023 12:30:35 -0500 Message-ID: <20231123173035.075321171@goodmis.org> User-Agent: quilt/0.67 Date: Thu, 23 Nov 2023 12:25:43 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Josef Bacik Subject: [for-linus][PATCH 4/5] eventfs: Make sure that parent->d_inode is locked in creating files/dirs References: <20231123172539.582640797@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email 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 (pete.vger.email [0.0.0.0]); Thu, 23 Nov 2023 09:30:49 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783376802115896044 X-GMAIL-MSGID: 1783376802115896044 From: "Steven Rostedt (Google)" Since the locking of the parent->d_inode has been moved outside the creation of the files and directories (as it use to be locked via a conditional), add a WARN_ON_ONCE() to the case that it's not locked. Link: https://lkml.kernel.org/r/20231121231112.853962542@goodmis.org Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Andrew Morton Reviewed-by: Josef Bacik Signed-off-by: Steven Rostedt (Google) --- fs/tracefs/event_inode.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 590e8176449b..0b90869fd805 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -327,6 +327,8 @@ create_file_dentry(struct eventfs_inode *ei, int idx, struct dentry **e_dentry = &ei->d_children[idx]; struct dentry *dentry; + WARN_ON_ONCE(!inode_is_locked(parent->d_inode)); + mutex_lock(&eventfs_mutex); if (ei->is_freed) { mutex_unlock(&eventfs_mutex); @@ -430,6 +432,8 @@ create_dir_dentry(struct eventfs_inode *pei, struct eventfs_inode *ei, { struct dentry *dentry = NULL; + WARN_ON_ONCE(!inode_is_locked(parent->d_inode)); + mutex_lock(&eventfs_mutex); if (pei->is_freed || ei->is_freed) { mutex_unlock(&eventfs_mutex); From patchwork Thu Nov 23 17:25:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 169067 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp605121vqx; Thu, 23 Nov 2023 09:32:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IGunWAQy/jgEJLUHQMg3lcJZcRsrk9s9wpDH/GfkNWq/t9UH2kFNhsS9zKKb7v9nkrqw3Bl X-Received: by 2002:a05:6a00:391f:b0:6bc:62d0:fffd with SMTP id fh31-20020a056a00391f00b006bc62d0fffdmr173978pfb.15.1700760759154; Thu, 23 Nov 2023 09:32:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700760759; cv=none; d=google.com; s=arc-20160816; b=yyTZ/TH1HO0ks1HckjT7L1SQBN/nDVVBP8Tf7JBenaCpeOoxSxiHh01c2WJ0olPf4I uxloAJGfRKEE7D9IBsaL6ChbFEl9Vx4uJ1pGcHE8kCber2v2cyKtHCye+0DLLsNgwGZF 0ZdYRXbpNN3gt0ecFkkHt1xPE3AAl3+xpFaLRwlEfcVmFNI6HClQNIdj/rNR08QNznwu sma481AkHk5mc2vxKzfV51Q3p8P6PZ7Ni48c+dF809Hfck7E29AjMqJwFR62R8m+NK8W KCpb9a1Q1SGOq3Rt8s8HxZ9Tgc32vqYRxvnmrcD+ovXt65L/3An9C2Ov5x8A6flbKJ56 eMNA== 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=cUpE3fm+22OxzlaLop1X8uo6kLSfEG25C9ky3P7FGls=; fh=mTYg3JJ8i2GBNLFt8qb4bgYwOyk0kmrOzICLbi6qJ1c=; b=Jl8olcUIRw/R9Ey1rpXfG8o3HEFH6+a5KQCNiOPBp8+y7lFlg9GMLHYL2QlqR0QJYz SjjlCyAdp12217oeduTDr+s4PKjsbOcL4XmcD8KYNh44eiN6hyIdDxTWHATXOWqci5uo OuLUqne5XB+2rQb0PIVVrSjYLr/vmG7RzWKiv+g3FvqH8UmTzWTfC846FclFZ9q5TL78 3woAM4hXw/dSH5wd3qrXeJHuxYYuZWxz0OSyJcTRRPxlVUzq7o0NHyckm/FiDgHhaF+h wucP0zlrNoSYEN135R5hzYRXY6y/fQ5z2nZLpoDYcE07fevpxFEy+L30Fvab/2z95W88 WAnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id t22-20020a634616000000b005b3bcd9d7f8si1677681pga.808.2023.11.23.09.32.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 09:32:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (Postfix) with ESMTP id 49C9780ADF31; Thu, 23 Nov 2023 09:30:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345478AbjKWRaZ (ORCPT + 99 others); Thu, 23 Nov 2023 12:30:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345172AbjKWRaM (ORCPT ); Thu, 23 Nov 2023 12:30:12 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C578798 for ; Thu, 23 Nov 2023 09:30:18 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78C1CC433C9; Thu, 23 Nov 2023 17:30:18 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97-RC3) (envelope-from ) id 1r6DX9-00000003686-1XJT; Thu, 23 Nov 2023 12:30:35 -0500 Message-ID: <20231123173035.230352894@goodmis.org> User-Agent: quilt/0.67 Date: Thu, 23 Nov 2023 12:25:44 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton Subject: [for-linus][PATCH 5/5] MAINTAINERS: TRACING: Add Mathieu Desnoyers as Reviewer References: <20231123172539.582640797@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 23 Nov 2023 09:30:39 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783376913592125841 X-GMAIL-MSGID: 1783376913592125841 From: Mathieu Desnoyers In order to make sure I get CC'd on tracing changes for which my input would be relevant, add my name as reviewer of the TRACING subsystem. Link: https://lore.kernel.org/linux-trace-kernel/20231115155018.8236-1-mathieu.desnoyers@efficios.com Acked-by: Masami Hiramatsu (Google) Signed-off-by: Mathieu Desnoyers Signed-off-by: Steven Rostedt (Google) --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index ea790149af79..a2d4ef4d90f6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22078,6 +22078,7 @@ F: drivers/watchdog/tqmx86_wdt.c TRACING M: Steven Rostedt M: Masami Hiramatsu +R: Mathieu Desnoyers L: linux-kernel@vger.kernel.org L: linux-trace-kernel@vger.kernel.org S: Maintained