summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/slab.c1
-rw-r--r--mm/slab_common.c5
-rw-r--r--mm/slob.c1
-rw-r--r--mm/slub.c1
4 files changed, 3 insertions, 5 deletions
diff --git a/mm/slab.c b/mm/slab.c
index f1f6d54e129a..11d9af5f9d2e 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2555,7 +2555,6 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
*/
BUG_ON(ZERO_OR_NULL_PTR(cachep->slabp_cache));
}
- cachep->refcount = 1;
err = setup_cpu_cache(cachep, gfp);
if (err) {
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 8a85a19d90ef..651a3c60847a 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -125,11 +125,12 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align
}
err = __kmem_cache_create(s, flags);
- if (!err)
+ if (!err) {
+ s->refcount = 1;
list_add(&s->list, &slab_caches);
- else {
+ } else {
kfree(s->name);
kmem_cache_free(kmem_cache, s);
}
diff --git a/mm/slob.c b/mm/slob.c
index cac05d92f329..3edfeaac3208 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -524,7 +524,6 @@ int __kmem_cache_create(struct kmem_cache *c, unsigned long flags)
if (c->align < align)
c->align = align;
- c->refcount = 1;
return 0;
}
diff --git a/mm/slub.c b/mm/slub.c
index d8ee419d5a15..0b122d8ec216 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3093,7 +3093,6 @@ static int kmem_cache_open(struct kmem_cache *s, unsigned long flags)
else
s->cpu_partial = 30;
- s->refcount = 1;
#ifdef CONFIG_NUMA
s->remote_node_defrag_ratio = 1000;
#endif