summaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-09-22 02:02:30 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-22 16:17:33 +0200
commitfe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1 (patch)
treeaed0b1c5355e42ce27788fa4868dc770cbbebe75 /mm/slub.c
parentpagemap clear_refs: modify to specify anon or mapped vma clearing (diff)
downloadlinux-fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1.tar.xz
linux-fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1.zip
mm: kmem_cache_create(): make it easier to catch NULL cache names
Right now, if you inadvertently pass NULL to kmem_cache_create() at boot time, it crashes much later after boot somewhere deep inside sysfs which makes it very non obvious to figure out what's going on. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 0a216aae227e..4996fc719552 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3345,6 +3345,9 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
{
struct kmem_cache *s;
+ if (WARN_ON(!name))
+ return NULL;
+
down_write(&slub_lock);
s = find_mergeable(size, align, flags, name, ctor);
if (s) {