Thread (3 messages) 3 messages, 2 authors, 2021-06-25

Re: [PATCH] mm/page_alloc: fix memory map initialization for descending nodes

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-06-24 20:57:27
Also in: lkml

On Thu, 24 Jun 2021 09:23:05 +0300 Mike Rapoport [off-list ref] wrote:
From: Mike Rapoport <redacted>

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 <redacted>
So I think we want a cc:stable here?


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help