diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-04-10 22:52:47 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-11 06:18:30 -0700 |
commit | 54404e72cd3758e465fb6362f6d71e22b705c589 (patch) | |
tree | aead2791d4e5ea39c0bb57e4d29760d72db07727 /drivers/base/node.c | |
parent | 29ff2db55196717e2e67e0f04adc833ee7edd491 (diff) | |
download | op-kernel-dev-54404e72cd3758e465fb6362f6d71e22b705c589.zip op-kernel-dev-54404e72cd3758e465fb6362f6d71e22b705c589.tar.gz |
[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>
Diffstat (limited to 'drivers/base/node.c')
-rw-r--r-- | drivers/base/node.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index 16c513a..c80c3ae 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; |