summaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorGu Zheng2014-08-07 01:04:51 +0200
committerLinus Torvalds2014-08-07 03:01:15 +0200
commit4307c14f3c77bc0cb0facfc9c67c7872505aaedf (patch)
treef45db34edc9d30000590d05f530a7a5ea785ae84 /mm/slub.c
parentmm, slub: fix some indenting in cmpxchg_double_slab() (diff)
downloadkernel-qcow2-linux-4307c14f3c77bc0cb0facfc9c67c7872505aaedf.tar.gz
kernel-qcow2-linux-4307c14f3c77bc0cb0facfc9c67c7872505aaedf.tar.xz
kernel-qcow2-linux-4307c14f3c77bc0cb0facfc9c67c7872505aaedf.zip
slab: fix the alias count (via sysfs) of slab cache
We mark some slab caches (e.g. kmem_cache_node) as unmergeable by setting refcount to -1, and their alias should be 0, not refcount-1, so correct it here. Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com> Acked-by: David Rientjes <rientjes@google.com> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> 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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index d9aadbfe7c29..9b861b90cde1 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4466,7 +4466,7 @@ SLAB_ATTR_RO(ctor);
static ssize_t aliases_show(struct kmem_cache *s, char *buf)
{
- return sprintf(buf, "%d\n", s->refcount - 1);
+ return sprintf(buf, "%d\n", s->refcount < 0 ? 0 : s->refcount - 1);
}
SLAB_ATTR_RO(aliases);