diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-09-21 17:02:30 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-22 07:17:33 -0700 |
commit | fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1 (patch) | |
tree | aed0b1c5355e42ce27788fa4868dc770cbbebe75 /mm/slub.c | |
parent | 398499d5f3613c47f2143b8c54a04efb5d7a6da9 (diff) | |
download | kernel-crypto-fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1.tar.gz kernel-crypto-fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1.tar.xz kernel-crypto-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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c index 0a216aae227..4996fc71955 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) { |