
From: Manfred Spraul <manfred@colorfullife.com>




 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) {

_
