Messages in this thread Patch in this message | | | Subject | Re: [bug] SLUB & freeing locks [was: Re: 2.6.23-rc1: known regressions with patches] | From | Peter Zijlstra <> | Date | Thu, 26 Jul 2007 11:26:03 +0200 |
| |
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.
Does this help?
--- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c +++ linux-2.6/mm/slub.c @@ -1131,6 +1131,7 @@ static void __free_slab(struct kmem_cach slab_pad_check(s, page); for_each_object(p, s, page_address(page)) check_object(s, page, p, 0); + ClearSlabDebug(page); } mod_zone_page_state(page_zone(page), @@ -1169,7 +1170,6 @@ static void discard_slab(struct kmem_cac atomic_long_dec(&n->nr_slabs); reset_page_mapcount(page); - ClearSlabDebug(page); __ClearPageSlab(page); free_slab(s, page); }
- 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/
| |