summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2006-04-10 22:52:47 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-11 06:18:30 -0700
commit54404e72cd3758e465fb6362f6d71e22b705c589 (patch)
treeaead2791d4e5ea39c0bb57e4d29760d72db07727
parent29ff2db55196717e2e67e0f04adc833ee7edd491 (diff)
downloadlinux-54404e72cd3758e465fb6362f6d71e22b705c589.tar.gz
linux-54404e72cd3758e465fb6362f6d71e22b705c589.tar.bz2
linux-54404e72cd3758e465fb6362f6d71e22b705c589.zip
[PATCH] Fix NULL pointer dereference in node_read_numastat()
zone_pcp() only returns valid values if the processor is online. Change node_read_numastat() to only scan online processors. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/base/node.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 16c513aa4d48..c80c3aeed004 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -106,7 +106,7 @@ static ssize_t node_read_numastat(struct sys_device * dev, char * buf)
other_node = 0;
for (i = 0; i < MAX_NR_ZONES; i++) {
struct zone *z = &pg->node_zones[i];
- for (cpu = 0; cpu < NR_CPUS; cpu++) {
+ for_each_online_cpu(cpu) {
struct per_cpu_pageset *ps = zone_pcp(z,cpu);
numa_hit += ps->numa_hit;
numa_miss += ps->numa_miss;