2012-10-24 14:29:13 +00:00
|
|
|
Subject: mm-slab-move-debug-out.patch
|
2011-11-20 00:01:55 +00:00
|
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
|
|
Date: Mon, 20 Jun 2011 10:42:04 +0200
|
|
|
|
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
|
|
---
|
|
|
|
mm/slab.c | 4 ++--
|
|
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
2012-10-24 14:29:13 +00:00
|
|
|
Index: linux-stable/mm/slab.c
|
|
|
|
===================================================================
|
|
|
|
--- linux-stable.orig/mm/slab.c
|
|
|
|
+++ linux-stable/mm/slab.c
|
|
|
|
@@ -3991,10 +3991,10 @@ void kmem_cache_free(struct kmem_cache *
|
2011-11-20 00:01:55 +00:00
|
|
|
{
|
|
|
|
unsigned long flags;
|
|
|
|
|
|
|
|
- local_irq_save(flags);
|
2012-10-24 14:29:13 +00:00
|
|
|
debug_check_no_locks_freed(objp, cachep->object_size);
|
2011-11-20 00:01:55 +00:00
|
|
|
if (!(cachep->flags & SLAB_DEBUG_OBJECTS))
|
2012-10-24 14:29:13 +00:00
|
|
|
debug_check_no_obj_freed(objp, cachep->object_size);
|
2011-11-20 00:01:55 +00:00
|
|
|
+ local_irq_save(flags);
|
|
|
|
__cache_free(cachep, objp, __builtin_return_address(0));
|
|
|
|
local_irq_restore(flags);
|
|
|
|
|
2012-10-24 14:29:13 +00:00
|
|
|
@@ -4020,12 +4020,12 @@ void kfree(const void *objp)
|
2011-11-20 00:01:55 +00:00
|
|
|
|
|
|
|
if (unlikely(ZERO_OR_NULL_PTR(objp)))
|
|
|
|
return;
|
|
|
|
- local_irq_save(flags);
|
|
|
|
kfree_debugcheck(objp);
|
|
|
|
c = virt_to_cache(objp);
|
2012-10-24 14:29:13 +00:00
|
|
|
debug_check_no_locks_freed(objp, c->object_size);
|
|
|
|
|
|
|
|
debug_check_no_obj_freed(objp, c->object_size);
|
2011-11-20 00:01:55 +00:00
|
|
|
+ local_irq_save(flags);
|
|
|
|
__cache_free(c, (void *)objp, __builtin_return_address(0));
|
|
|
|
local_irq_restore(flags);
|
|
|
|
}
|