Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 208c4358 authored by Christoph Lameter's avatar Christoph Lameter Committed by Pekka Enberg
Browse files

mm/slub: Use kmem_cache for the kmem_cache structure



Do not use kmalloc() but kmem_cache_alloc() for the allocation
of the kmem_cache structures in slub.

Reviewed-by: default avatarGlauber Costa <glommer@parallels.com>
Acked-by: default avatarDavid Rientjes <rientjes@google.com>
Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
parent 79576102
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)
static inline void sysfs_slab_remove(struct kmem_cache *s)
{
	kfree(s->name);
	kfree(s);
	kmem_cache_free(kmem_cache, s);
}

#endif
@@ -3969,7 +3969,7 @@ struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
	if (!n)
		return NULL;

	s = kmalloc(kmem_size, GFP_KERNEL);
	s = kmem_cache_alloc(kmem_cache, GFP_KERNEL);
	if (s) {
		if (kmem_cache_open(s, n,
				size, align, flags, ctor)) {
@@ -3986,7 +3986,7 @@ struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
			list_del(&s->list);
			kmem_cache_close(s);
		}
		kfree(s);
		kmem_cache_free(kmem_cache, s);
	}
	kfree(n);
	return NULL;
@@ -5224,7 +5224,7 @@ static void kmem_cache_release(struct kobject *kobj)
	struct kmem_cache *s = to_slab(kobj);

	kfree(s->name);
	kfree(s);
	kmem_cache_free(kmem_cache, s);
}

static const struct sysfs_ops slab_sysfs_ops = {