diff options
author | David Rientjes <rientjes@google.com> | 2012-01-09 22:19:45 +0100 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-01-10 20:31:09 +0100 |
commit | 74ee4ef1f901fbb014bdcdc9171d126490ce2b62 (patch) | |
tree | 47f33960c42e4884f56136a61d5dc024895a810e /mm/slub.c | |
parent | slub: Extract get_freelist from __slab_alloc (diff) | |
download | linux-74ee4ef1f901fbb014bdcdc9171d126490ce2b62.tar.xz linux-74ee4ef1f901fbb014bdcdc9171d126490ce2b62.zip |
slub: disallow changing cpu_partial from userspace for debug caches
For caches with debugging enabled, "slub: Switch per cpu partial page
support off for debugging" changes cpu_partial to 0. It shouldn't be
tunable from userspace for such caches, otherwise the same accounting
issues arise during validation.
This patch disallows tuning /sys/kernel/slab/cache/cpu_partial to be non-
zero for caches with debugging enabled.
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c index 6dc79f8e6ce9..a47df0aa5d36 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4649,6 +4649,8 @@ static ssize_t cpu_partial_store(struct kmem_cache *s, const char *buf, err = strict_strtoul(buf, 10, &objects); if (err) return err; + if (objects && kmem_cache_debug(s)) + return -EINVAL; s->cpu_partial = objects; flush_all(s); |