]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
slub: make ->cpu_partial unsigned int
authorAlexey Dobriyan <adobriyan@gmail.com>
Thu, 5 Apr 2018 23:21:10 +0000 (16:21 -0700)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:51:18 +0000 (19:51 -0600)
BugLink: https://bugs.launchpad.net/bugs/1836287
commit e5d9998f3e09359b372a037a6ac55ba235d95d57 upstream.

/*
 * cpu_partial determined the maximum number of objects
 * kept in the per cpu partial lists of a processor.
 */

Can't be negative.

Link: http://lkml.kernel.org/r/20180305200730.15812-15-adobriyan@gmail.com
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
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>
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
include/linux/slub_def.h
mm/slub.c

index 3d1c3ff5be4515eb8e10f32f7a843f53913b21b5..96895128c1b3e30580d4e39c5cc45ef7235da5a9 100644 (file)
@@ -88,7 +88,8 @@ struct kmem_cache {
        int object_size;        /* The size of an object without meta data */
        int offset;             /* Free pointer offset. */
 #ifdef CONFIG_SLUB_CPU_PARTIAL
-       int cpu_partial;        /* Number of per cpu partial objects to keep around */
+       /* Number of per cpu partial objects to keep around */
+       unsigned int cpu_partial;
 #endif
        struct kmem_cache_order_objects oo;
 
index a996d84b190a00881ec6aadba9db3824aee4045a..d0de987a932388d7fa7f1544633be655cd075639 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1822,7 +1822,7 @@ static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n,
 {
        struct page *page, *page2;
        void *object = NULL;
-       int available = 0;
+       unsigned int available = 0;
        int objects;
 
        /*
@@ -4955,10 +4955,10 @@ static ssize_t cpu_partial_show(struct kmem_cache *s, char *buf)
 static ssize_t cpu_partial_store(struct kmem_cache *s, const char *buf,
                                 size_t length)
 {
-       unsigned long objects;
+       unsigned int objects;
        int err;
 
-       err = kstrtoul(buf, 10, &objects);
+       err = kstrtouint(buf, 10, &objects);
        if (err)
                return err;
        if (objects && !kmem_cache_has_cpu_partial(s))