[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210624135723.3b2b25de43e22ab4275ea273@linux-foundation.org>
Date: Thu, 24 Jun 2021 13:57:23 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Mike Rapoport <rppt@...nel.org>
Cc: alfalco@...il.com, Borislav Petkov <bp@...en8.de>,
Mike Rapoport <rppt@...ux.ibm.com>,
robert.shteynfeld@...il.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/page_alloc: fix memory map initialization for
descending nodes
On Thu, 24 Jun 2021 09:23:05 +0300 Mike Rapoport <rppt@...nel.org> wrote:
> From: Mike Rapoport <rppt@...ux.ibm.com>
>
> On systems with memory nodes sorted in descending order, for instance
> Dell Precision WorkStation T5500, the struct pages for higher PFNs and
> respectively lower nodes, could be overwritten by the initialization of
> struct pages corresponding to the holes in the memory sections.
>
> For example for the below memory layout
>
> [ 0.245624] Early memory node ranges
> [ 0.248496] node 1: [mem 0x0000000000001000-0x0000000000090fff]
> [ 0.251376] node 1: [mem 0x0000000000100000-0x00000000dbdf8fff]
> [ 0.254256] node 1: [mem 0x0000000100000000-0x0000001423ffffff]
> [ 0.257144] node 0: [mem 0x0000001424000000-0x0000002023ffffff]
>
> the range 0x1424000000 - 0x1428000000 in the beginning of node 0 starts in
> the middle of a section and will be considered as a hole during the
> initialization of the last section in node 1.
>
> Reorder order of the memory map initialization so that the outer loop will
> always iterate over populated memory regions in the ascending order and the
> inner loop will select the zone corresponding to the PFN range.
>
> This way initialization of the struct pages for the memory holes will
> be always done for the ranges that are actually not populated.
Changelog doesn't tell us what are the user-visible effects of the bug.
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=213073
But that does. Panic during boot.
> Fixes: 0740a50b9baa ("mm/page_alloc.c: refactor initialization of struct page for holes in memory layout")
> Signed-off-by: Mike Rapoport <rppt@...ux.ibm.com>
So I think we want a cc:stable here?
Powered by blists - more mailing lists