On Wed, Dec 09, 2020 at 11:43:03PM +0200, Mike Rapoport wrote: > From: Mike Rapoport <rppt@xxxxxxxxxxxxx> > > memblock does not require that the reserved memory ranges will be a subset > of memblock.memory. > > As the result there maybe reserved pages that are not in the range of any > zone or node because zone and node boundaries are detected based on > memblock.memory and pages that only present in memblock.reserved are not > taken into account during zone/node size detection. > > Make sure that all ranges in memblock.reserved are added to memblock.memory > before calculating node and zone boundaries. > > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN") > Reported-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx> > --- > include/linux/memblock.h | 1 + > mm/memblock.c | 24 ++++++++++++++++++++++++ > mm/page_alloc.c | 7 +++++++ > 3 files changed, 32 insertions(+) <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly. </formletter>