diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-24 15:26:46 -0400 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-03-24 15:26:46 -0400 |
commit | f9b615de4663c4b852e07257e9f967df6a0161c0 (patch) | |
tree | 5aedfe0d17cbe0d39cf91d17a889b8bb6ae271e6 /mm/slub.c | |
parent | 6d1e9a42e7176bbce9348274784b2e5f69223936 (diff) |
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/slub.c')
-rw-r--r-- | mm/slub.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -849,11 +849,11 @@ static inline void slab_free_hook(struct kmem_cache *s, void *x) | |||
849 | local_irq_save(flags); | 849 | local_irq_save(flags); |
850 | kmemcheck_slab_free(s, x, s->objsize); | 850 | kmemcheck_slab_free(s, x, s->objsize); |
851 | debug_check_no_locks_freed(x, s->objsize); | 851 | debug_check_no_locks_freed(x, s->objsize); |
852 | if (!(s->flags & SLAB_DEBUG_OBJECTS)) | ||
853 | debug_check_no_obj_freed(x, s->objsize); | ||
854 | local_irq_restore(flags); | 852 | local_irq_restore(flags); |
855 | } | 853 | } |
856 | #endif | 854 | #endif |
855 | if (!(s->flags & SLAB_DEBUG_OBJECTS)) | ||
856 | debug_check_no_obj_freed(x, s->objsize); | ||
857 | } | 857 | } |
858 | 858 | ||
859 | /* | 859 | /* |