From: Pekka Enberg Date: Sat, 10 Feb 2007 09:42:52 +0000 (-0800) Subject: [PATCH] slab: remove broken PageSlab check from kfree_debugcheck X-Git-Tag: v2.6.21-rc1~274^2~479 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e40e73097a5e4ad1b9f92fa21757343fdd6a682;p=linux-2.6 [PATCH] slab: remove broken PageSlab check from kfree_debugcheck 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/slab.c b/mm/slab.c index c6100628a6..aea1cd2531 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2814,19 +2814,11 @@ failed: */ 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)