[tip:x86/urgent] x86: check boundary in setup_node_bootmem()

From: tip-bot for Yinghai Lu
Date: Thu Apr 23 2009 - 04:08:37 EST


Commit-ID: 4c31e92b97b6d7e7b19ee5e54a22571ffdebb305
Gitweb: http://git.kernel.org/tip/4c31e92b97b6d7e7b19ee5e54a22571ffdebb305
Author: Yinghai Lu <yinghai@xxxxxxxxxx>
AuthorDate: Wed, 22 Apr 2009 14:19:27 -0700
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Thu, 23 Apr 2009 09:58:56 +0200

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@xxxxxxxxxx>
Cc: Jack Steiner <steiner@xxxxxxx>
LKML-Reference: <49EF89DF.9090404@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
arch/x86/mm/numa_64.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

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,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/