From 53b76885dcc890e69111080ca8d518b589997e28 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 10:42:04 +0200 Subject: [PATCH 058/304] mm-slab-move-debug-out.patch Signed-off-by: Thomas Gleixner --- mm/slab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/slab.c b/mm/slab.c index 61dfda3..f807b35f 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3857,10 +3857,10 @@ void kmem_cache_free(struct kmem_cache *cachep, void *objp) { unsigned long flags; - local_irq_save(flags); debug_check_no_locks_freed(objp, obj_size(cachep)); if (!(cachep->flags & SLAB_DEBUG_OBJECTS)) debug_check_no_obj_freed(objp, obj_size(cachep)); + local_irq_save(flags); __cache_free(cachep, objp, __builtin_return_address(0)); local_irq_restore(flags); @@ -3886,11 +3886,11 @@ void kfree(const void *objp) if (unlikely(ZERO_OR_NULL_PTR(objp))) return; - local_irq_save(flags); kfree_debugcheck(objp); c = virt_to_cache(objp); debug_check_no_locks_freed(objp, obj_size(c)); debug_check_no_obj_freed(objp, obj_size(c)); + local_irq_save(flags); __cache_free(c, (void *)objp, __builtin_return_address(0)); local_irq_restore(flags); }