diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-06-20 10:42:04 +0200 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2011-11-14 11:01:34 -0600 |
commit | 6e5ed16345de9fffb57ccb7c6521f2c85bac69f3 (patch) | |
tree | eb53894ea4723da5c6eae0a59f2607ed4fbb92bd /mm | |
parent | 2968155a74f1856efb7f4748d91e9e4190efa335 (diff) |
mm-slab-move-debug-out.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index 708efe886154..1549b8eee689 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3844,10 +3844,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); @@ -3873,11 +3873,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); } |