On 06.12.20 01:54, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > > The patch titled > Subject: mm: initialize struct pages in reserved regions outside of the zone ranges > has been added to the -mm tree. Its filename is > mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch > > This patch should soon appear at > https://ozlabs.org/~akpm/mmots/broken-out/mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch > and later at > https://ozlabs.org/~akpm/mmotm/broken-out/mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next and is updated > there every 3-4 working days > > ------------------------------------------------------ > From: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Subject: mm: initialize struct pages in reserved regions outside of the zone ranges > > Without this change, the pfn 0 isn't in any zone spanned range, and it's > also not in any memory.memblock range, so the struct page of pfn 0 wasn't > initialized and the PagePoison remained set when reserve_bootmem_region > called __SetPageReserved, inducing a silent boot failure with DEBUG_VM > (and correctly so, because the crash signaled the nodeid/nid of pfn 0 > would be again wrong). > > There's no enforcement that all memblock.reserved ranges must overlap > memblock.memory ranges, so the memblock.reserved ranges also require an > explicit initialization and the zones ranges need to be extended to > include all memblock.reserved ranges with struct pages too or they'll be > left uninitialized with PagePoison as it happened to pfn 0. > > Link: https://lkml.kernel.org/r/20201205013238.21663-2-aarcange@xxxxxxxxxx > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN") > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Cc: Mike Rapoport <rppt@xxxxxxxxxxxxx> > Cc: Baoquan He <bhe@xxxxxxxxxx> > Cc: David Hildenbrand <david@xxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxxxx> > Cc: Qian Cai <cai@xxxxxx> > Cc: Vlastimil Babka <vbabka@xxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> [...] I've lost track which patches are we considering right now to solve the overall issue. I'd appreciate a proper patch series with all relevant patches. -- Thanks, David / dhildenb