Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwritten (sysfs?)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Christoph Lameter
Date: Thursday, September 20, 2007 - 10:36 am

On Thu, 20 Sep 2007, Alexey Dobriyan wrote:


Hmmm.. This means likely that the c->node is used somewhere for 
indexing.... Ahhh... If we count objects for sysfs output then c->node may 
be used to index into the statistics array. The offset from the poison 
also makes sense now since we increment values there.

Does this patch fix the issue?



SLUB: Fix slab object counting.

We can only use the node value of the per cpu structure for counting if it 
is positive. A negative value indicates that the slab is not valid.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

---
 mm/slub.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Index: linux-2.6.23-rc6-mm1/mm/slub.c
===================================================================
--- linux-2.6.23-rc6-mm1.orig/mm/slub.c	2007-09-20 10:31:04.000000000 -0700
+++ linux-2.6.23-rc6-mm1/mm/slub.c	2007-09-20 10:32:19.000000000 -0700
@@ -3412,12 +3412,16 @@ static unsigned long slab_objects(struct
 
 	for_each_possible_cpu(cpu) {
 		struct page *page;
+		int node;
 		struct kmem_cache_cpu *c = get_cpu_slab(s, cpu);
 
 		if (!c)
 			continue;
 
 		page = c->page;
+		node = c->node;
+		if (node < 0)
+			continue;
 		if (page) {
 			if (flags & SO_CPU) {
 				int x = 0;
@@ -3427,9 +3431,9 @@ static unsigned long slab_objects(struct
 				else
 					x = 1;
 				total += x;
-				nodes[c->node] += x;
+				nodes[node] += x;
 			}
-			per_cpu[c->node]++;
+			per_cpu[node]++;
 		}
 	}
 
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Christoph Lameter, (Wed Sep 19, 1:59 pm)
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Christoph Lameter, (Wed Sep 19, 2:36 pm)
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Christoph Lameter, (Thu Sep 20, 10:25 am)
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Christoph Lameter, (Thu Sep 20, 10:36 am)
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Christoph Lameter, (Thu Sep 20, 10:37 am)
Re: 2.6.23-rc6-mm1: BUG kmalloc-16: Object padding overwri ..., Eric W. Biederman, (Thu Sep 20, 11:54 am)