- it recovers node with oldnode as long as current entry is HOT_PLUGGABLE. so it handles the recover issue. but I think following patch can simply fix it as well.oops, typo here, should be:
diff --git a/arch/x86/mm/srat_64.c b/arch/x86/mm/srat_64.c
index dbb5381..fdf067f 100644
--- a/arch/x86/mm/srat_64.c
+++ b/arch/x86/mm/srat_64.c
@@ -281,7 +281,7 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
if (!node_test_and_set(node, nodes_parsed)) {
nd->start = start;
nd->end = end;
- } else {
+ } else if ((nd->start | nd->end) != 0) {
if (start < nd->start)
nd->start = start;
if (nd->end < end)