On Thu, 2007-07-26 at 11:26 +0200, Peter Zijlstra wrote:
> On Thu, 2007-07-26 at 11:10 +0200, Ingo Molnar wrote:
> > there's a new regression:
> > 
> > SLUB does not seem to call debug_check_no_locks_freed() - hence on SLUB 
> > we will not notice certain types of freeing races. (such as freeing an 
> > object still locked and used on another CPU.) SLAB does this corretly.

Oh, nm, it doesn't call debug_check_no_locks_freed() at all.

This should do I guess.

Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]>
---
 mm/slub.c |    1 +
 1 file changed, 1 insertion(+)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -1656,6 +1656,7 @@ static void __always_inline slab_free(st
        unsigned long flags;
 
        local_irq_save(flags);
+       debug_check_no_locks_freed(object, s->size);
        if (likely(page == s->cpu_slab[smp_processor_id()] &&
                                                !SlabDebug(page))) {
                object[page->offset] = page->lockless_freelist;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to