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 2B8A2C433FE for ; Wed, 30 Mar 2022 22:29:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A39908D0001; Wed, 30 Mar 2022 18:29:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E9056B0073; Wed, 30 Mar 2022 18:29:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B1CB8D0001; Wed, 30 Mar 2022 18:29:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.28]) by kanga.kvack.org (Postfix) with ESMTP id 7B3396B0072 for ; Wed, 30 Mar 2022 18:29:25 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id 2DC4060D62 for ; Wed, 30 Mar 2022 22:29:23 +0000 (UTC) X-FDA: 79302495006.06.DE1CEF3 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf20.hostedemail.com (Postfix) with ESMTP id 9CEBC1C0002 for ; Wed, 30 Mar 2022 22:29:22 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B9BCE617BE; Wed, 30 Mar 2022 22:29:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F106AC3410F; Wed, 30 Mar 2022 22:29:19 +0000 (UTC) Date: Wed, 30 Mar 2022 18:29:18 -0400 From: Steven Rostedt To: Zi Yan Cc: Zi Yan , Linus Torvalds , David Hildenbrand , Vlastimil Babka , Mel Gorman , Mike Rapoport , Oscar Salvador , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: page_alloc: validate buddy before check its migratetype. Message-ID: <20220330182918.38276a89@gandalf.local.home> In-Reply-To: <20220330221238.396357-1-zi.yan@sent.com> References: <20220330221238.396357-1-zi.yan@sent.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 9CEBC1C0002 X-Rspam-User: Authentication-Results: imf20.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf20.hostedemail.com: domain of "SRS0=X/cO=UJ=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=X/cO=UJ=goodmis.org=rostedt@kernel.org" X-Stat-Signature: kyje5n36jzbsske9wou66cnsh4x9j7ue X-HE-Tag: 1648679362-590820 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: On Wed, 30 Mar 2022 18:12:38 -0400 Zi Yan wrote: > From: Zi Yan > > Whenever a buddy page is found, page_is_buddy() should be called to > check its validity. Add the missing check during pageblock merge check. > > Fixes: 1dd214b8f21c ("mm: page_alloc: avoid merging non-fallbackable pageblocks with others") Link: https://lore.kernel.org/all/20220330154208.71aca532@gandalf.local.home/ > > Reported-by: Steven Rostedt Tested-by: Steven Rostedt (Google) -- Steve > Signed-off-by: Zi Yan > --- > mm/page_alloc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index bdc8f60ae462..6c6af8658775 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1108,6 +1108,9 @@ static inline void __free_one_page(struct page *page, > > buddy_pfn = __find_buddy_pfn(pfn, order); > buddy = page + (buddy_pfn - pfn); > + > + if (!page_is_buddy(page, buddy, order)) > + goto done_merging; > buddy_mt = get_pageblock_migratetype(buddy); > > if (migratetype != buddy_mt