linux/debian/patches/features/all/rt/0058-mm-slab-move-debug-out...

40 lines
1.2 KiB
Diff

From a9a2e9f6f45dbf667b4c6f9006d4d312725595c8 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 20 Jun 2011 10:42:04 +0200
Subject: [PATCH 058/298] mm-slab-move-debug-out.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
mm/slab.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/slab.c b/mm/slab.c
index 61dfda3..f807b35 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);
}