lkml.org 
[lkml]   [2007]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches]
From
Date
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@chello.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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-07-26 11:35    [W:0.646 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site