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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3DCB1C4345F for ; Sun, 28 Apr 2024 00:57:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D4A06B007B; Sat, 27 Apr 2024 20:57:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 75D6F6B0083; Sat, 27 Apr 2024 20:57:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5FE966B0085; Sat, 27 Apr 2024 20:57:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 41EEF6B007B for ; Sat, 27 Apr 2024 20:57:30 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BDC641405ED for ; Sun, 28 Apr 2024 00:57:29 +0000 (UTC) X-FDA: 82057127418.17.1E98E1E Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf14.hostedemail.com (Postfix) with ESMTP id BE604100002 for ; Sun, 28 Apr 2024 00:57:27 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=IWHqDCYU; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf14.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714265848; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=iEhnO4AWXoNxFsAFeSCOgVl/u1tIJg7C/6bLYFJsfso=; b=Qh5NUHYIQpoqxh+y6LhvAfG4AJXO4MpiIUQih7oTAeKU7X76d4eT3keZ+/VBNm6LQE9uGF atfvy/qerQg9DnX8KdTIT2Ba754WdBlM7XAEvrRcpzE2gMd5MMG4rSLbFd/5NsfxiuQaNF TepGcur1RtOdpn7aPBT3pWx9ZdSB3og= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714265848; a=rsa-sha256; cv=none; b=cPch+1HN0I6DPjNlHa8xb59VsjwcTb/fbERlaRUA3WnoOw7usIM5X8L2vQlC+vQf5j9q9Y kVraddHGSqXVdGJz6Hr/08xwMwmKmKNxLkw2djcph1z5kpBhoA/HrUVTGXBlVsLDDyodcY eomkNeqYnUVd8hIxKYgRaUwdfNn5/6U= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=IWHqDCYU; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf14.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=iEhnO4AWXoNxFsAFeSCOgVl/u1tIJg7C/6bLYFJsfso=; b=IWHqDCYUczIV+YtqAUlL6HVU+V qCtZyJpY5Sh2NfLpSQK0jlGyEtErUphjfxsjrprhsLPjB+PmckQ17consJv5VugT5B64CyFQ3dIAD WajK1Il7ARNNEV/N8P0Mb0R5DHCFMJoAMKyWI7Qmz4Lu6MNnDpgneBWjCEKZoSN8OpO1PbghXkg+c vrs8MDYIDAUlKDlpojo4H5DPbN0R8m6m/6qvwBnplNJ9p4Lm03LOOuvj5k846ad5o1rV/sczirBif P5BktIszYYw7GDr4ZqNSZVwKat58sz1tf2UdKbpR4DrowlURDVSud5kA9E9EvWWc+Q5LmyKtpUtoW wy8sUNtw==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s0sqz-0000000GWGt-1oqf; Sun, 28 Apr 2024 00:57:17 +0000 Date: Sat, 27 Apr 2024 17:57:17 -0700 From: Luis Chamberlain To: Matthew Wilcox , ziy@nvidia.com Cc: "Pankaj Raghav (Samsung)" , djwong@kernel.org, brauner@kernel.org, david@fromorbit.com, chandan.babu@oracle.com, akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, hare@suse.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-xfs@vger.kernel.org, gost.dev@samsung.com, p.raghav@samsung.com Subject: Re: [PATCH v4 05/11] mm: do not split a folio if it has minimum folio order requirement Message-ID: References: <20240425113746.335530-1-kernel@pankajraghav.com> <20240425113746.335530-6-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: BE604100002 X-Stat-Signature: qxczgko1g7ey1rc5ahjtjggb1zmz4cky X-Rspam-User: X-HE-Tag: 1714265847-691214 X-HE-Meta: U2FsdGVkX18UhHZvdrtTvmCfeyaLmx1MzB1HzfagsCe3zJIzoZJ35aScDanfMGvfHkrntCB2BuuUkCQkEpqVlMfBrUs8JJxSFBALYX/6ag3mJulxfdkDuDWNMMqOgCApxDMGCfqG+Sx7uYMd98+gytA+YNjmVshT/d76YAh7eND2VRXBbTO8EuaEcx+peTbLXCe3S41E/TiOjd0Yz4q+R3NUvdL7QJsl5uikr0wY+E8gLdqcszqYqBNa9UmnmpZJ123z91LeckqMKH789iwLq3Z0bh9RSn+WKAEPFGi0ocTzQiHrmJO414P7QeeZiYconRXr2N5OIy1bJVaSCH5U63RA6YNo4SJDerTrMyB5dwvvI4e6sKNWHE9+r3SfPyaMsdIhu19rMIltD03wKlj9ca9mQ50WRWQ0lHdnb5uYwzzCVaTW/kmvqOvb0A0OcvQ+azQoHbzf64kMlEBxHvqb0DCoj9EAaRV4JmhWi/liKx+s46l10L2g2CBOJdqgSUnETj/TULjtt3cDWa4B0J0HSVtIyVGVWUDtFWQsPA00yvqnFvr3Q0zlWEgPQgNLmobAmLb6y2w7FUmZllLsL/uyK4v8/Y/QADyVhz7U1yNLq1dRc+j8QscVIRXIbWJROClYBavT0XkGVfPpsrhJn/KYvQbnE4qeqp1x7XJRzYPFs2g9Ij9t/4XSrx632OYL3iimVYIYDETvfvFFnCXpT7WUQmiCAosSdTeBvkkRw69wdO/pAEt56b/ewVtBfGOSfjBkqwzsEmV6AP0O5ma44csA3mktv9Pu/TPC38luQQeXHLHa4utyiXMzwHG8OIIh92h/H4D6MfxgkoRKyeR/sd1ah2aIYOZ/MqLHkHF7psivHiBbOtQC6Eq350d4iUTpIrJ+0ognedOfqEZD8w9UlCt65bTQxN3P7McpnYuoalxKvWPc4fnfV3bx1Y0yJzRll0xk2ep/J4VzFW3GNBY0r72 j29rt7wI Dl4eUFNT68FFkQhFkHsHYfw1ZTFRAF/JRId+B X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Apr 26, 2024 at 04:46:11PM -0700, Luis Chamberlain wrote: > On Thu, Apr 25, 2024 at 05:47:28PM -0700, Luis Chamberlain wrote: > > On Thu, Apr 25, 2024 at 09:10:16PM +0100, Matthew Wilcox wrote: > > > On Thu, Apr 25, 2024 at 01:37:40PM +0200, Pankaj Raghav (Samsung) wrote: > > > > From: Pankaj Raghav > > > > > > > > using that API for LBS is resulting in an NULL ptr dereference > > > > error in the writeback path [1]. > > > > > > > > [1] https://gist.github.com/mcgrof/d12f586ec6ebe32b2472b5d634c397df > > > > > > How would I go about reproducing this? Well so the below fixes this but I am not sure if this is correct. folio_mark_dirty() at least says that a folio should not be truncated while its running. I am not sure if we should try to split folios then even though we check for writeback once. truncate_inode_partial_folio() will folio_wait_writeback() but it will split_folio() before checking for claiming to fail to truncate with folio_test_dirty(). But since the folio is locked its not clear why this should be possible. diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 83955362d41c..90195506211a 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3058,7 +3058,7 @@ int split_huge_page_to_list_to_order(struct page *page, struct list_head *list, if (new_order >= folio_order(folio)) return -EINVAL; - if (folio_test_writeback(folio)) + if (folio_test_dirty(folio) || folio_test_writeback(folio)) return -EBUSY; if (!folio_test_anon(folio)) {