summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorLinus Torvalds2010-11-14 22:06:37 +0100
committerLinus Torvalds2010-11-14 22:06:37 +0100
commit2744b8889cd6d4a730634400d337bee07d1702bc (patch)
tree91557775e3516d1df89141d588e9c7697f3583bb /mm
parentMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
parentslub: Fix slub_lock down/up imbalance (diff)
downloadkernel-qcow2-linux-2744b8889cd6d4a730634400d337bee07d1702bc.tar.gz
kernel-qcow2-linux-2744b8889cd6d4a730634400d337bee07d1702bc.tar.xz
kernel-qcow2-linux-2744b8889cd6d4a730634400d337bee07d1702bc.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: Fix slub_lock down/up imbalance
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 8fd5401bb071..981fb730aa04 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3273,9 +3273,9 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
kfree(n);
kfree(s);
}
+err:
up_write(&slub_lock);
-err:
if (flags & SLAB_PANIC)
panic("Cannot create slabcache %s\n", name);
else
@@ -3862,6 +3862,7 @@ static ssize_t show_slab_objects(struct kmem_cache *s,
x += sprintf(buf + x, " N%d=%lu",
node, nodes[node]);
#endif
+ up_read(&slub_lock);
kfree(nodes);
return x + sprintf(buf + x, "\n");
}