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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Jun 2021 09:23:05 +0300 Mike Rapoport <rppt@xxxxxxxxxx> wrote:

> From: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> 
> 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@xxxxxxxxxxxxx>

So I think we want a cc:stable here?






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux