|
@@ -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;
|
|
|
}
|