aboutsummaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorDan Yeisley <dan.yeisley@unisys.com>2007-03-08 08:01:53 +0100
committerAdrian Bunk <bunk@stusta.de>2007-03-08 08:01:53 +0100
commit4a990d10083535d9f0927cd81dcc3b18d0ec3cac (patch)
tree0ada06e3789c47af219734c1572ec581fd8b15a7 /mm
parenta9cbeddd48ff51399d93b8e60e97875c893a89d0 (diff)
downloadlinux-linaro-stable-4a990d10083535d9f0927cd81dcc3b18d0ec3cac.tar.gz
init_reap_node() initialization fix
It looks like there is a bug in init_reap_node() in slab.c that can cause multiple oops's on certain ES7000 configurations. The variable reap_node is defined per cpu, but only initialized on a single CPU. This causes an oops in next_reap_node() when __get_cpu_var(reap_node) returns the wrong value. Fix is below. Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Diffstat (limited to 'mm')
-rw-r--r--mm/slab.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slab.c b/mm/slab.c
index d0bd7f07ab04..c58d3b81be0f 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -806,7 +806,7 @@ static void init_reap_node(int cpu)
if (node == MAX_NUMNODES)
node = 0;
- __get_cpu_var(reap_node) = node;
+ per_cpu(reap_node, cpu) = node;
}
static void next_reap_node(void)