memblock: fix crash when reserved memory is not added to memory
[platform/kernel/linux-starfive.git] / mm / memblock.c
index 913b252..6d18485 100644 (file)
@@ -2119,6 +2119,9 @@ static void __init memmap_init_reserved_pages(void)
                start = region->base;
                end = start + region->size;
 
+               if (nid == NUMA_NO_NODE || nid >= MAX_NUMNODES)
+                       nid = early_pfn_to_nid(PFN_DOWN(start));
+
                reserve_bootmem_region(start, end, nid);
        }
 }