[PATCH] init_reap_node() initialization fix

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

 



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 <[email protected]>
---

diff -Naur linux-2.6.19-rc3-org/mm/slab.c linux-2.6.19-rc3-work/mm/slab.c
--- linux-2.6.19-rc3-org/mm/slab.c      2006-10-23 19:02:02.000000000 -0400
+++ linux-2.6.19-rc3-work/mm/slab.c     2006-10-30 11:45:28.000000000 -0500
@@ -883,7 +883,7 @@
        if (node == MAX_NUMNODES)
                node = first_node(node_online_map);
 
-       __get_cpu_var(reap_node) = node;
+       per_cpu(reap_node,cpu) = node;
 }
 
 static void next_reap_node(void)




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux