diff --git a/arch/x86_64/mm/srat.c b/arch/x86_64/mm/srat.c
index 07bf13fbcf84c..4b2e844c15a75 100644
--- a/arch/x86_64/mm/srat.c
+++ b/arch/x86_64/mm/srat.c
@@ -50,7 +50,7 @@ static __init int setup_node(int pxm)
 static __init int conflicting_nodes(unsigned long start, unsigned long end)
 {
 	int i;
-	for_each_online_node(i) {
+	for_each_node_mask(i, nodes_parsed) {
 		struct node *nd = &nodes[i];
 		if (nd->start == nd->end)
 			continue;