[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#569704: potential fix



A coworker was seeing the same symptoms on a system from the
same-era & loaned me the system to debug. The issue ended up being
due to a change in the SRAT table, and a backport of the following
fixed it for me.

I've committed it to the lenny branch - would you be able to test it?

commit 4c31e92b97b6d7e7b19ee5e54a22571ffdebb305
Author: Yinghai Lu <yinghai@...>
Date:   Wed Apr 22 14:19:27 2009 -0700

    x86: check boundary in setup_node_bootmem()
    
    Commit dc09855 ("x86/uv: fix init of memory-less nodes") causes a
    two sockets system (where node-1 doesn't have RAM installed) to crash.
    
    That commit makes node_possible include cpu nodes that do not have memory.
    So check boundary in setup_node_bootmem().
    
    [ Impact: fix boot crash on RAM-less NUMA node system ]
    
    Signed-off-by: Yinghai Lu <yinghai@...>
    Cc: Jack Steiner <steiner@...>
    LKML-Reference: <49EF89DF.9090404@...>
    Signed-off-by: Ingo Molnar <mingo@...>

diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
index d73aaa8..2d05a12 100644
--- a/arch/x86/mm/numa_64.c
+++ b/arch/x86/mm/numa_64.c
@@ -188,6 +188,9 @@ void __init setup_node_bootmem(int nodeid, unsigned long start,
 	const int pgdat_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
 	int nid;
 
+	if (!end)
+		return;
+
 	start = roundup(start, ZONE_ALIGN);
 
 	printk(KERN_INFO "Bootmem setup node %d %016lx-%016lx\n", nodeid,



Reply to: