projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mm/sl[aou]b: Move list_add() to slab_common.c
[firefly-linux-kernel-4.4.55.git]
/
mm
/
slab_common.c
diff --git
a/mm/slab_common.c
b/mm/slab_common.c
index fe8dc943c285c5b3627fd9fc331cb504f552eb9f..5190a7cd02bda88a3df30b4f53166cf72ad74374 100644
(file)
--- a/
mm/slab_common.c
+++ b/
mm/slab_common.c
@@
-111,6
+111,13
@@
struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align
if (!s)
err = -ENOSYS; /* Until __kmem_cache_create returns code */
if (!s)
err = -ENOSYS; /* Until __kmem_cache_create returns code */
+ /*
+ * Check if the slab has actually been created and if it was a
+ * real instatiation. Aliases do not belong on the list
+ */
+ if (s && s->refcount == 1)
+ list_add(&s->list, &slab_caches);
+
out_locked:
mutex_unlock(&slab_mutex);
put_online_cpus();
out_locked:
mutex_unlock(&slab_mutex);
put_online_cpus();