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?