summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2011-07-22 16:35:14 +0200
committerPekka Enberg <penberg@kernel.org>2011-07-25 19:58:19 +0200
commit9e577e8b46ab0c38970c0f0cd7eae62e6dffddee (patch)
tree068d8d50963b53a8ce25470328ff6ebe5a51b198 /mm
parentslub: disable interrupts in cmpxchg_double_slab when falling back to pagelock (diff)
downloadlinux-9e577e8b46ab0c38970c0f0cd7eae62e6dffddee.tar.xz
linux-9e577e8b46ab0c38970c0f0cd7eae62e6dffddee.zip
slub: When allocating a new slab also prep the first object
We need to branch to the debug code for the first object if we allocate a new slab otherwise the first object will be marked wrongly as inactive. Tested-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 7836b45ea1fa..e842c19e67fb 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2082,6 +2082,9 @@ new_slab:
stat(s, ALLOC_SLAB);
c->node = page_to_nid(page);
c->page = page;
+
+ if (kmem_cache_debug(s))
+ goto debug;
goto load_freelist;
}
if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())