aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mm
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-13 08:50:13 +0200
committerIngo Molnar <mingo@elte.hu>2008-07-13 08:50:13 +0200
commit54ef76f37bcccf8c16fbaaed13c3c40825195958 (patch)
tree59afdb95e68f2fbac2550aa42135921086649c38 /mm
parentMerge commit 'v2.6.26-rc9' into sched/devel (diff)
parentMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip (diff)
downloadwireguard-linux-54ef76f37bcccf8c16fbaaed13c3c40825195958.tar.xz
wireguard-linux-54ef76f37bcccf8c16fbaaed13c3c40825195958.zip
Merge branch 'linus' into sched/devel
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 1a427c0ae83b..315c392253c7 100644
--- a/mm/slub.c
+++ b/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;
}