slab: remove broken PageSlab check from kfree_debugcheck

From: Pekka J Enberg
Date: Tue Jan 02 2007 - 11:19:44 EST


From: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

The PageSlab debug check in kfree_debugcheck() is broken for compound
pages. It is also redundant as we already do BUG_ON for non-slab pages in
page_get_cache() and page_get_slab() which are always called before we
free any actual objects.

Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
---

diff --git a/mm/slab.c b/mm/slab.c
index 0d4e574..77d24eb 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2814,19 +2814,11 @@ #if DEBUG
*/
static void kfree_debugcheck(const void *objp)
{
- struct page *page;
-
if (!virt_addr_valid(objp)) {
printk(KERN_ERR "kfree_debugcheck: out of range ptr %lxh.\n",
(unsigned long)objp);
BUG();
}
- page = virt_to_page(objp);
- if (!PageSlab(page)) {
- printk(KERN_ERR "kfree_debugcheck: bad ptr %lxh.\n",
- (unsigned long)objp);
- BUG();
- }
}

static inline void verify_redzone_free(struct kmem_cache *cache, void *obj)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/