diff --git a/[refs] b/[refs] index 1d0526758877..b737f57a0687 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e1cca7e8d484390169777b423a7fe46c7021fec1 +refs/heads/master: 80cbd911ca25535f6bb66bbcbb98950ec328eb40 diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index c31cd3682a0b..202465a193c1 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -2881,6 +2881,8 @@ static void *cache_free_debugcheck(struct kmem_cache *cachep, void *objp, unsigned int objnr; struct slab *slabp; + BUG_ON(virt_to_cache(objp) != cachep); + objp -= obj_offset(cachep); kfree_debugcheck(objp); page = virt_to_head_page(objp); @@ -3759,8 +3761,6 @@ void kmem_cache_free(struct kmem_cache *cachep, void *objp) { unsigned long flags; - BUG_ON(virt_to_cache(objp) != cachep); - local_irq_save(flags); debug_check_no_locks_freed(objp, obj_size(cachep)); __cache_free(cachep, objp);