From: Manfred Spraul <manfred@colorfullife.com>

print_objinfo() dumps the first few characters of an interesting object for
debugging.  It used the wrong object len (including debug padding, instead
of just the data area), which could cause an oops if DEBUG_PAGEALLOC is
enabled.


---

 25-akpm/mm/slab.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/slab.c~slab-corruption-detector-fix mm/slab.c
--- 25/mm/slab.c~slab-corruption-detector-fix	2004-03-14 13:06:35.586615176 -0800
+++ 25-akpm/mm/slab.c	2004-03-14 13:06:35.595613808 -0800
@@ -914,7 +914,7 @@ static void print_objinfo(kmem_cache_t *
 		printk("\n");
 	}
 	realobj = (char*)objp+obj_dbghead(cachep);
-	size = cachep->objsize;
+	size = obj_reallen(cachep);
 	for (i=0; i<size && lines;i+=16, lines--) {
 		int limit;
 		limit = 16;

_