Index: linux-2.6.18-rc4-mm3/mm/slabifier.c =================================================================== --- linux-2.6.18-rc4-mm3.orig/mm/slabifier.c 2006-08-30 18:50:10.815517126 -0700 +++ linux-2.6.18-rc4-mm3/mm/slabifier.c 2006-08-30 18:50:33.807037733 -0700 @@ -649,13 +649,16 @@ object); goto dumpret; } + sc = page->slab; + s = (void *) sc; } else if (unlikely(sc != page->slab)) { printk(KERN_CRIT "slab_free %s: object at %p" " belongs to slab %p\n", s->sc.name, object, page->slab); dump_stack(); - s = (struct slab *)page->slab; + sc = page->slab; + s = (void *) sc; } if (unlikely(!check_valid_pointer(s, page, object, NULL))) { Index: linux-2.6.18-rc4-mm3/mm/slabulator.c =================================================================== --- linux-2.6.18-rc4-mm3.orig/mm/slabulator.c 2006-08-30 18:54:08.750000059 -0700 +++ linux-2.6.18-rc4-mm3/mm/slabulator.c 2006-08-30 18:54:38.105657065 -0700 @@ -172,7 +172,7 @@ error: a->destructor((struct page_allocator *)a); if (flags & SLAB_PANIC) - panic("Cannot create slab %s size=%ld realsize=%d " + panic("Cannot create slab %s size=%d realsize=%d " "order=%d offset=%d flags=%lx\n", s.name, size, s.size, s.order, s.offset, flags);