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=-13.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 37854C433DB for ; Wed, 13 Jan 2021 21:52:28 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 968F922D05 for ; Wed, 13 Jan 2021 21:52:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 968F922D05 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id DAB8B8D0099; Wed, 13 Jan 2021 16:52:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D5CAB8D008E; Wed, 13 Jan 2021 16:52:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BFDEA8D0099; Wed, 13 Jan 2021 16:52:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id AA90E8D008E for ; Wed, 13 Jan 2021 16:52:26 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 7B3191DF7 for ; Wed, 13 Jan 2021 21:52:26 +0000 (UTC) X-FDA: 77702101092.25.act47_2e0779327521 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin25.hostedemail.com (Postfix) with ESMTP id 4D0101809CD7C for ; Wed, 13 Jan 2021 21:52:26 +0000 (UTC) X-HE-Tag: act47_2e0779327521 X-Filterd-Recvd-Size: 4841 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf17.hostedemail.com (Postfix) with ESMTP for ; Wed, 13 Jan 2021 21:52:25 +0000 (UTC) Received: by mail-ed1-f48.google.com with SMTP id by27so3551614edb.10 for ; Wed, 13 Jan 2021 13:52:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tkCEm6n1O2YDsdNDXJh8BIEgy3kecFF0HQkrvLtX2UM=; b=SRVHAUkpjdzGINze2D0SPtwgt3b82Lz/3p99J6k6sZtsuYKAjn5691k8Rp8b7FUCS9 6Rl0wbuf5DR1iOh0Bu8H2VEZHjnIko2IpIeXpeyK7UoEOQcvVEg5ATgpU7ILN8FvrLOJ tU3S5Kbj9+NbosbQygaXJCjPhAON9p+WjNYl7vNEwbEZCP9WYe8jbt/lceuyN/JtZNF5 +lFs1SUeHRZFbP1fqinWUwwE0BMOo8UJwXrlPxyWIiOOAWjRy+q03pNsCcP6kNzLLcBO RuItbDUV2Wl4/PPqfv0rryUy9n2oc//db/8GySCvN+q/K5oHMfeMYIBqGtgHAkGv+XnY d9Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tkCEm6n1O2YDsdNDXJh8BIEgy3kecFF0HQkrvLtX2UM=; b=q42v72H1VVGwBNG9RQtMcnegnwkixpGHQY/Pq6Q6eMMRSuSWh36w5dVWwssZaTeq1w kd8m2BJOOFmU/EwO7rEySFwvZd1G+WU/0n1czvxwBAT1GNBn5UJG9z2nrfhQQzmGG/YV Df83p/vlxrIUwlzG8+cwDO3tLDrsbDDzsGLuvPJiVsQ0IWQobqhZJ3icxMuIgPxL1al5 5Wjc12TMaK8Iy5VKiAxuhqfkhyKmRzPW1jYYHRlPYrzugLwYY6KWFfdrfJTT/AhY/XaM 7ntJ01gqlGb2DO9TyapeGqezct6el3JL3ASCO/L+KWY8Iq1YDwxMFijZx3DFLgS5EMPN 5mBA== X-Gm-Message-State: AOAM531ZDxiYWO2z82wIaz1UutvExQ6KQKCGqYe9iUcBnI0avfui9ltu fkzgW2KOIbnZvLoxHa9rfVEE61uQla2HZdDD7paFCg== X-Google-Smtp-Source: ABdhPJzSD6+Rzk4Z+duLWEpDKBIxKbqxC88SAUZRbhvaMudyDSDTALy3KwUquixL/d2ZtGuR3ksAPlHMa75yFMUJrmM= X-Received: by 2002:aa7:c3cd:: with SMTP id l13mr3362518edr.97.1610574743900; Wed, 13 Jan 2021 13:52:23 -0800 (PST) MIME-Version: 1.0 References: <161052331545.1805594.2356512831689786960.stgit@dwillia2-desk3.amr.corp.intel.com> <161052332755.1805594.9846390935351758277.stgit@dwillia2-desk3.amr.corp.intel.com> <230efa36-9192-fe52-b8b6-16b2feafb70b@redhat.com> In-Reply-To: <230efa36-9192-fe52-b8b6-16b2feafb70b@redhat.com> From: Dan Williams Date: Wed, 13 Jan 2021 13:52:14 -0800 Message-ID: Subject: Re: [PATCH v3 2/6] mm: Teach pfn_to_online_page() to consider subsection validity To: David Hildenbrand Cc: Linux MM , Qian Cai , Michal Hocko , Oscar Salvador , Vishal L Verma , linux-nvdimm , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" 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, Jan 13, 2021 at 12:29 AM David Hildenbrand wrote: > > On 13.01.21 08:35, Dan Williams wrote: > > pfn_section_valid() determines pfn validity on subsection granularity > > where pfn_valid() may be limited to coarse section granularity. > > Explicitly validate subsections after pfn_valid() succeeds. > > > > Fixes: b13bc35193d9 ("mm/hotplug: invalid PFNs from pfn_to_online_page()") > > Cc: Qian Cai > > Cc: Michal Hocko > > Cc: Oscar Salvador > > Reported-by: David Hildenbrand > > Signed-off-by: Dan Williams > > --- > > mm/memory_hotplug.c | 24 ++++++++++++++++++++---- > > 1 file changed, 20 insertions(+), 4 deletions(-) > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > index 55a69d4396e7..9f37f8a68da4 100644 > > --- a/mm/memory_hotplug.c > > +++ b/mm/memory_hotplug.c > > @@ -308,11 +308,27 @@ static int check_hotplug_memory_addressable(unsigned long pfn, > > struct page *pfn_to_online_page(unsigned long pfn) > > { > > unsigned long nr = pfn_to_section_nr(pfn); > > + struct mem_section *ms; > > + > > + if (nr >= NR_MEM_SECTIONS) > > + return NULL; > > + > > + ms = __nr_to_section(nr); > > + if (!online_section(ms)) > > + return NULL; > > + > > + /* > > + * Save some code text when online_section() + > > + * pfn_section_valid() are sufficient. > > + */ > > + if (IS_ENABLED(CONFIG_HAVE_ARCH_PFN_VALID)) > > + if (!pfn_valid(pfn)) > > + return NULL; > > Nit: > > if (IS_ENABLED(CONFIG_HAVE_ARCH_PFN_VALID) && > !pfn_valid(pfn)) > Ok... I'll do a final resend "To: akpm" after the kbuild robot finishes chewing on this series.