From: Manfred Spraul 25-akpm/mm/slab.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN mm/slab.c~slab-wrong-cache-debug mm/slab.c --- 25/mm/slab.c~slab-wrong-cache-debug Mon Jul 14 11:02:55 2003 +++ 25-akpm/mm/slab.c Mon Jul 14 11:02:55 2003 @@ -1628,7 +1628,13 @@ static inline void *cache_free_debugchec kfree_debugcheck(objp); page = virt_to_page(objp); - BUG_ON(GET_PAGE_CACHE(page) != cachep); + if (GET_PAGE_CACHE(page) != cachep) { + printk(KERN_ERR "mismatch in kmem_cache_free: expected cache %p, got %p\n", + GET_PAGE_CACHE(page),cachep); + printk(KERN_ERR "%p is %s.\n", cachep, cachep->name); + printk(KERN_ERR "%p is %s.\n", GET_PAGE_CACHE(page), GET_PAGE_CACHE(page)->name); + WARN_ON(1); + } slabp = GET_PAGE_SLAB(page); if (cachep->flags & SLAB_STORE_USER) { _