projects/linux·commit a08ebda9

Merge tag 'fixes-2024-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock

a08ebda9 · Linus Torvalds <[email protected]> · 2024-01-28 09:41:39 -08:00

Pull memblock fix from Mike Rapoport:
 "Fix crash when reserved memory is not added to memory.

  When CONFIG_DEFERRED_STRUCT_PAGE_INIT is enabled, the initialization
  of reserved pages may cause access of NODE_DATA() with invalid nid and
  crash.

  Add a fall back to early_pfn_to_nid() in memmap_init_reserved_pages()
  to ensure a valid node id is always passed to init_reserved_page()"

* tag 'fixes-2024-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
  memblock: fix crash when reserved memory is not added to memory
Commit
a08ebda97e2a32b8f1de2c8240337f726c2e1ba7
Parents
8a696a29 · 6a9531c3

Merge commit. Changes below are compared with the first parent: 8a696a29.

Changes

1 files changed · +3 −0

FileStatusAddDelContent
mm/memblock.cmodified+3−0View file

mm/memblock.c

View file
diff --git a/mm/memblock.c b/mm/memblock.c
index abd9286..4dcb2ee 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -2176,6 +2176,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);
}
}