diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-24 21:26:46 +0200 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-03-24 21:26:46 +0200 |
commit | f9b615de4663c4b852e07257e9f967df6a0161c0 (patch) | |
tree | 5aedfe0d17cbe0d39cf91d17a889b8bb6ae271e6 /mm | |
parent | 6d1e9a42e7176bbce9348274784b2e5f69223936 (diff) | |
download | linux-3.10-f9b615de4663c4b852e07257e9f967df6a0161c0.tar.gz linux-3.10-f9b615de4663c4b852e07257e9f967df6a0161c0.tar.bz2 linux-3.10-f9b615de4663c4b852e07257e9f967df6a0161c0.zip |
slub: Fix debugobjects with lockless fastpath
On Thu, 24 Mar 2011, Ingo Molnar wrote:
> RIP: 0010:[<ffffffff810570a9>] [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
That's a typical timer crash, but you were unable to debug it with
debugobjects because commit d3f661d6 broke those.
Cc: Christoph Lameter <cl@linux.com>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/slub.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/slub.c b/mm/slub.c index 93de30db95f..a6a783594ad 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -849,11 +849,11 @@ static inline void slab_free_hook(struct kmem_cache *s, void *x) local_irq_save(flags); kmemcheck_slab_free(s, x, s->objsize); debug_check_no_locks_freed(x, s->objsize); - if (!(s->flags & SLAB_DEBUG_OBJECTS)) - debug_check_no_obj_freed(x, s->objsize); local_irq_restore(flags); } #endif + if (!(s->flags & SLAB_DEBUG_OBJECTS)) + debug_check_no_obj_freed(x, s->objsize); } /* |