aboutsummaryrefslogtreecommitdiff
path: root/mm/slab.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-06-20 10:42:04 +0200
committerSteven Rostedt <rostedt@goodmis.org>2011-11-14 12:11:02 -0500
commitb1fa46945f672ea13b9044075219ee6e5b400375 (patch)
treedc77d1a2d6eb92a44728038d49979cd4be01da84 /mm/slab.c
parent841e544e37cc7f16c3511d6e0ca7f0420471f822 (diff)
mm-slab-move-debug-out.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'mm/slab.c')
-rw-r--r--mm/slab.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c
index aa82dc9de010..da84719599aa 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3848,10 +3848,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);
@@ -3877,11 +3877,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);
}