diff --git a/mm/slub.c b/mm/slub.c index 0120ce3867b7..1a0c92ee8b99 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -5672,7 +5672,8 @@ static char *create_unique_id(struct kmem_cache *s) char *name = kmalloc(ID_STR_LENGTH, GFP_KERNEL); char *p = name; - BUG_ON(!name); + if (!name) + return ERR_PTR(-ENOMEM); *p++ = ':'; /* @@ -5752,6 +5753,8 @@ static int sysfs_slab_add(struct kmem_cache *s) * for the symlinks. */ name = create_unique_id(s); + if (IS_ERR(name)) + return PTR_ERR(name); } s->kobj.kset = kset;