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;