[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1185442353.8197.71.camel@twins>
Date: Thu, 26 Jul 2007 11:32:33 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Lameter <clameter@....com>,
linux-kernel@...r.kernel.org
Subject: Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known
regressions with patches]
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 <a.p.zijlstra@...llo.nl>
---
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists