mirror of https://gitee.com/openkylin/linux.git
[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 <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
66efc5a7e3
commit
6e40e73097
|
@ -2814,19 +2814,11 @@ static int cache_grow(struct kmem_cache *cachep,
|
|||
*/
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue