diff --git a/[refs] b/[refs] index 4435f2c4cd50..5efb3a989d23 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96a8e13ed44e380fc2bb6c711d74d5ba698c00b2 +refs/heads/master: bdb21928512a860a60e6a24a849dc5b63cbaf96a diff --git a/trunk/mm/slub.c b/trunk/mm/slub.c index 1a427c0ae83b..315c392253c7 100644 --- a/trunk/mm/slub.c +++ b/trunk/mm/slub.c @@ -1628,9 +1628,11 @@ static __always_inline void *slab_alloc(struct kmem_cache *s, void **object; struct kmem_cache_cpu *c; unsigned long flags; + unsigned int objsize; local_irq_save(flags); c = get_cpu_slab(s, smp_processor_id()); + objsize = c->objsize; if (unlikely(!c->freelist || !node_match(c, node))) object = __slab_alloc(s, gfpflags, node, addr, c); @@ -1643,7 +1645,7 @@ static __always_inline void *slab_alloc(struct kmem_cache *s, local_irq_restore(flags); if (unlikely((gfpflags & __GFP_ZERO) && object)) - memset(object, 0, c->objsize); + memset(object, 0, objsize); return object; }