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 CF8A4C54E5D for ; Tue, 12 Mar 2024 14:02:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 666246B0254; Tue, 12 Mar 2024 10:02:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6164B6B0255; Tue, 12 Mar 2024 10:02:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 504B46B0256; Tue, 12 Mar 2024 10:02:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 40B3D6B0254 for ; Tue, 12 Mar 2024 10:02:19 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 15D541C0446 for ; Tue, 12 Mar 2024 14:02:19 +0000 (UTC) X-FDA: 81888551598.21.35A38EE Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf29.hostedemail.com (Postfix) with ESMTP id D75511200DD for ; Tue, 12 Mar 2024 14:01:48 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lCYkLuVv; dmarc=none; spf=none (imf29.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710252110; h=from:from: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=WcCB6S7fAfi1s4pIBP8w8Yg8Ux/MewdVI2zFB6OvGqw=; b=2PpCdWzpjwO0Lf+wj0dkDDYWL8ChJeDLvT13ahnmdFEIQlooUG57qC5GyiZTZHWgS1irik D7v5PTpZIPLWx2cU1zSFM/gF/j9sFx8fMXoz7ke3NILlqWsC4YuqBwXxdsZS8brkeTlfpe Vn2ePWyokEwqg2T9gu6bSFYoFgWLPaY= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lCYkLuVv; dmarc=none; spf=none (imf29.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710252110; a=rsa-sha256; cv=none; b=vYthsq5Ip+WZzcqEcIbPzz7CtbdVmJLuIwIABBSgpjyruozohuGvvcwFA/NkqOUf+mlD3v WLX9Gy+m/Cm5jFPtmVYbmDfMkexWBU2lyDT97XnpnKMV8S2pNMe8/DxVXwzOlrKCPyquR/ q4jChKLG1ifrQCrSuLu+CWBlOtIkumE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=WcCB6S7fAfi1s4pIBP8w8Yg8Ux/MewdVI2zFB6OvGqw=; b=lCYkLuVvO6dIwYrJgXM5u+IqRg KU9bW67hLcS/BhyKorBAsSLtIC8NiqkVpO5CfgqWqO3cyTZOhx+lq8l0rf6UC/EVbkMfl7demg7qp +QPFKP9h7hTf/13Pg+ETQaxW4lJGn1wCiZ6OODXY9TQHOFfzbxbr8cZHwCa/4AR6Q30xncrq4gHf5 rPIofTK8ya6xUtYBlZNOPhP1IJ0IdLQZKggSuzOY4OQG/V/RWwmxX3VtwEpXXYTHhKfuL83/MxBFF KWbfC+wOkCex6vqrZ9pyEv8jWao0TnO8ZrVucsLcqkAytOJ98yb/hyuUqQ9FwabTuqBzE26vhLxRp wHRU6/9A==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rk2hO-000000039vP-2pD2; Tue, 12 Mar 2024 14:01:46 +0000 Date: Tue, 12 Mar 2024 14:01:46 +0000 From: Matthew Wilcox To: David Hildenbrand Cc: Andrew Morton , linux-mm@kvack.org Subject: Re: [PATCH] mm: Always initialise folio->_deferred_list Message-ID: References: <20240312035017.516865-1-willy@infradead.org> <78d1e235-b055-48ce-a987-e8719163caf7@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <78d1e235-b055-48ce-a987-e8719163caf7@redhat.com> X-Rspamd-Queue-Id: D75511200DD X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: rbmkdiwjojy1njr3jido5ftipw7ik73i X-HE-Tag: 1710252108-494552 X-HE-Meta: U2FsdGVkX19qHXRKDxktSxsjpv9QrCocehQcsGuho4II7sqKBj7VVNQXzuPJIDA6yQNx0MKNn85N1D+5svcNeo64jwUUcCHhyPOYsY9CiJ+jR5rwDLHP1SXkiwUYrUMMybTg5awJEwx0a3vVlf7IgWTTK/IKX0/xG0UUzqeG/GUODRKud7Pxr+w+mZADGRhoY44t5zGx/4WY0P5FCkjdHzG8dIfZUAPXSSxIiZ1bWlrUMikRthLZNLKlE2Ww+1yxRSt3ka5oMPhMtkO5vvKLjXCO7qwLpbpaTDo8y0tXU/NZhJqnWcPt6cnNEvbuLBvd3C2uOb28xoZBEweuX8qC5I/s2u73Cp8hEZWDEMtjPJa2GEqK7WRXpvCPUKyyvDsshU4kKKtghADowtmtz9Ux/8+Li4mD9lLEDxM79e30+iNlEPMH5AGUkoHlR55ZCXSTk8eT4nSUgQwHM0RZye/Zpw8+7ctabqz6SeiQ50ukphBOU6k8KiEF+ZqWa01roQJJjJK5V4Sszq437UnMODZkKpvENkrwvLQTKiOZqaxTjGq+fz9QSS7ERYuLhNvu3Z9YuXz7a/iTV9xnqjo5dgTm/4tDMF78og9rEqURLCVfQlfAdjcEwRGX50gyJYjolz0XMiWMCdq3oWz3MrXqv/OY3hD8cQu95W1HME0m8QEkdjuD7pB9OkQ6/z0cd9bOLuKVk6Pq0rxhrXwzLoR4VDDD5PqfiQenSADXiWkc6KcR8HBWyFz0cuibT422qKAo897Lw26rCIpgZZ1Tk8oIExUu3/zl4K/rCsp5Oos/sGKRa91a1osEml+Jj2QE1+dupmeWBpxEDYXM04HiHbhMeivYV4le5pnpMpwGjaeWfZKkYi7aDKStuCfA1zqGjW3rXjTi1Vg6RxkNSQ0s08S4i9OINJMptYZs84PjL8OytXWGk20IXUGC/OIyu+0mT1FIpm9uQLu2jNvOogsRYcCJEsd Ydsw3YYm mSjyF5ipos9o6eRMGJRcE8p4k9nRuziJS4uDsOhh7soAsnli8xBuLcqsU/RfWVdysjd9kJX2mSDazi2aeCUFy1BiY7igW7sJa1hX7cuxXeQjSTn36IAO3d3BujBSOK4wzCa2qjaaieCf2/KZ6sNSxzUAas1SuypCqdos7lCqRj28c2vaXT2Js6PAqQQ== 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 Tue, Mar 12, 2024 at 02:17:01PM +0100, David Hildenbrand wrote: > On 12.03.24 04:50, Matthew Wilcox (Oracle) wrote: > > +++ b/mm/page_alloc.c > > @@ -1006,10 +1006,11 @@ static int free_tail_page_prepare(struct page *head_page, struct page *page) > > } > > break; > > case 2: > > - /* > > - * the second tail page: ->mapping is > > - * deferred_list.next -- ignore value. > > - */ > > + /* the second tail page: deferred_list overlaps ->mapping */ > > + if (unlikely(!list_empty(&folio->_deferred_list))) { > > + bad_page(page, "on deferred list"); > > + goto out; > > + } > > IIRC, hugetlb might overwrite this with _hugetlb_subpool? Isn't that a > problem we have to handle? Ah yes, you're right. I think this should do the trick? +++ b/mm/hugetlb.c @@ -1796,6 +1796,7 @@ static void __update_and_free_hugetlb_folio(struct hstate *h, destroy_compound_gigantic_folio(folio, huge_page_order(h)); free_gigantic_folio(folio, huge_page_order(h)); } else { + INIT_LIST_HEAD(&folio->_deferred_list); __free_pages(&folio->page, huge_page_order(h)); } } (that should also be a folio_put(), IMO)