With kconfig option NUMA_KEEP_MEMINFO disabled the SRAT lookup done with numa_fill_memblks() fails returning NUMA_NO_MEMBLK (-1). An existing SRAT memory range cannot be found for a CFMWS address range. This causes the addition of a duplicate numa_memblk with a different node id and a subsequent page fault and kernel crash during boot. Note that the issue was initially introduced with [1]. But since phys_to_target_node() was originally used that returned the valid node 0, an additional numa_memblk was not added. Though, the node id was wrong too. Fix this by enabling NUMA_KEEP_MEMINFO for x86 with ACPI and NUMA enabled. [1] fd49f99c1809 ("ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT") Fixes: 8f1004679987 ("ACPI/NUMA: Apply SRAT proximity domain to entire CFMWS window") Cc: Derick Marks <derick.w.marks@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Alison Schofield <alison.schofield@xxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxx> --- drivers/acpi/numa/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/acpi/numa/Kconfig b/drivers/acpi/numa/Kconfig index 849c2bd820b9..2f4ac6ac6768 100644 --- a/drivers/acpi/numa/Kconfig +++ b/drivers/acpi/numa/Kconfig @@ -3,6 +3,7 @@ config ACPI_NUMA bool "NUMA support" depends on NUMA depends on (X86 || ARM64 || LOONGARCH) + select NUMA_KEEP_MEMINFO if X86 default y if ARM64 config ACPI_HMAT -- 2.39.2