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 X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3157CC433FE for ; Thu, 3 Dec 2020 16:23:04 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 83BE1207AC for ; Thu, 3 Dec 2020 16:23:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83BE1207AC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 852476B0071; Thu, 3 Dec 2020 11:23:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 801F36B0072; Thu, 3 Dec 2020 11:23:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A2F26B0073; Thu, 3 Dec 2020 11:23:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0049.hostedemail.com [216.40.44.49]) by kanga.kvack.org (Postfix) with ESMTP id 52D306B0071 for ; Thu, 3 Dec 2020 11:23:02 -0500 (EST) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 14371180AD806 for ; Thu, 3 Dec 2020 16:23:02 +0000 (UTC) X-FDA: 77552490204.01.star15_2402948273bd Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id E8C1510047F8A for ; Thu, 3 Dec 2020 16:23:01 +0000 (UTC) X-HE-Tag: star15_2402948273bd X-Filterd-Recvd-Size: 4120 Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by imf42.hostedemail.com (Postfix) with ESMTP for ; Thu, 3 Dec 2020 16:23:01 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id n7so1708021pgg.2 for ; Thu, 03 Dec 2020 08:23:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yBYfpG4YLx+bPEVhdMCEtM/1Z5BJXzgEmATHplf72ms=; b=OQ3F4Pvyn0v5hFBCX4+xk0ra4wITd692JiulhGTnKo6dLHNpMAa9Lbww/pZf9f+nao +UyVMh9ETgDfp89UiwEv0j7oYGloR6TvGERk+PDDSy07/obSU5r+EksUs/fYEifMhC1z WTXpblLnP3JHfbWb/Dh9aUFjMUKRsb45Z0u+NifhOLShl6Mfw60WFKr+YjIatVLf4Nsj 3DG0VWr89J3s5CauJ8ga3WpUz5L/KPpRPfCLfqt6QCWbeXvEmLIfgijmLg/vdEsySkLf P3uXY8VCPtAiIboXtYz2eZhfHns0ucLFFoHSOTzfNkq1ywmtX26MGfUCGrey8o55UocY lf1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yBYfpG4YLx+bPEVhdMCEtM/1Z5BJXzgEmATHplf72ms=; b=qzqxC00q4kXmSA5WPD7mt4nmmzOsl1LpnZfmVC58uZa0DY6noWqTziEQ7WSyy+Gvz7 Hk1RnAapQjKAZ3YrmfTO3yIrhpTDp9yB7jPs+d/aaaEF3c51c3G8XiLIAg+z/voaTYHK rWOu61T5ZU+8AHXKwI38FEARHv7Y6RNpKAd3Js6u87rkSyf5V0SlPTgAXhcRcW6fgc7U ENvfOvPumoSUqQ+HWjo/8XaK0VxRtgGB02LZo5HK7iWvFwe6T9WB2+/WcaVZ8MiBgYxp GrJ1jGs23eJRZTHY2eZASD3VBm3sBKj/q9ZpX00tnt7YPuLQH+5vhIZHBJcbl7xXu+Qk Wv0A== X-Gm-Message-State: AOAM531PfpzPzatENGO4Pq2H1maB3lkW3CZWlmqc2Z0IILunX5qwN322 MjSanX+3bkqfpV9RuPIL+g8oZg== X-Google-Smtp-Source: ABdhPJxL6sIIXBJTQoJVVOD/yVtcARo1F14xpNwxRqBHV3kxUe3mpX7mwzCv43YbLpmc+wPf2Va97w== X-Received: by 2002:a63:982:: with SMTP id 124mr3677673pgj.280.1607012579786; Thu, 03 Dec 2020 08:22:59 -0800 (PST) Received: from localhost.bytedance.net ([103.136.220.106]) by smtp.gmail.com with ESMTPSA id fv22sm1999614pjb.14.2020.12.03.08.22.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Dec 2020 08:22:58 -0800 (PST) From: Muchun Song To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muchun Song , Vlastimil Babka Subject: [PATCH v2] mm/page_isolation: do not isolate the max order page Date: Fri, 4 Dec 2020 00:22:37 +0800 Message-Id: <20201203162237.21885-1-songmuchun@bytedance.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122) MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: The max order page has no buddy page and never merge to other order. So isolating and then freeing it is pointless. And if order =3D=3D MAX_OR= DER - 1, then the buddy can actually be a !pfn_valid() in some corner case? pfn_valid_within(buddy_pfn) that follows would only catch it on archs with holes in zone. Then is_migrate_isolate_page(buddy) might access an invalid buddy. So this is also a bug fix. Fixes: 3c605096d315 ("mm/page_alloc: restrict max order of merging on iso= lated pageblock") Signed-off-by: Muchun Song Acked-by: Vlastimil Babka --- Changes in v2: - Add Fixes tag in the commit log. mm/page_isolation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index a254e1f370a3..bddf788f45bf 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -88,7 +88,7 @@ static void unset_migratetype_isolate(struct page *page= , unsigned migratetype) */ if (PageBuddy(page)) { order =3D buddy_order(page); - if (order >=3D pageblock_order) { + if (order >=3D pageblock_order && order < MAX_ORDER - 1) { pfn =3D page_to_pfn(page); buddy_pfn =3D __find_buddy_pfn(pfn, order); buddy =3D page + (buddy_pfn - pfn); --=20 2.11.0