From: Christoph Lameter Date: Wed, 9 May 2012 15:09:52 +0000 (-0500) Subject: slub: Add frozen check in __slab_alloc X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=507effeaba29bf724dfe38317fbd11d0fe25fa40;p=linux-beck.git slub: Add frozen check in __slab_alloc Verify that objects returned from __slab_alloc come from slab pages in the correct state. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg --- diff --git a/mm/slub.c b/mm/slub.c index 83f258298de7..a3395c28f561 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2245,6 +2245,12 @@ redo: stat(s, ALLOC_REFILL); load_freelist: + /* + * freelist is pointing to the list of objects to be used. + * page is pointing to the page from which the objects are obtained. + * That page must be frozen for per cpu allocations to work. + */ + VM_BUG_ON(!c->page->frozen); c->freelist = get_freepointer(s, freelist); c->tid = next_tid(c->tid); local_irq_restore(flags);