From: Alexey Dobriyan <adobriyan@xxxxxxxxx> Subject: slab: make kmalloc_size() return "unsigned int" kmalloc_size() derives size of kmalloc cache from internal index, which can't be negative. Propagate unsignedness a bit. Link: http://lkml.kernel.org/r/20180305200730.15812-3-adobriyan@xxxxxxxxx Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/slab.h | 4 ++-- mm/slab_common.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff -puN include/linux/slab.h~slab-make-kmalloc_size-return-unsigned-int include/linux/slab.h --- a/include/linux/slab.h~slab-make-kmalloc_size-return-unsigned-int +++ a/include/linux/slab.h @@ -522,11 +522,11 @@ static __always_inline void *kmalloc(siz * return size or 0 if a kmalloc cache for that * size does not exist */ -static __always_inline int kmalloc_size(int n) +static __always_inline unsigned int kmalloc_size(unsigned int n) { #ifndef CONFIG_SLOB if (n > 2) - return 1 << n; + return 1U << n; if (n == 1 && KMALLOC_MIN_SIZE <= 32) return 96; diff -puN mm/slab_common.c~slab-make-kmalloc_size-return-unsigned-int mm/slab_common.c --- a/mm/slab_common.c~slab-make-kmalloc_size-return-unsigned-int +++ a/mm/slab_common.c @@ -1138,9 +1138,9 @@ void __init create_kmalloc_caches(slab_f struct kmem_cache *s = kmalloc_caches[i]; if (s) { - int size = kmalloc_size(i); + unsigned int size = kmalloc_size(i); char *n = kasprintf(GFP_NOWAIT, - "dma-kmalloc-%d", size); + "dma-kmalloc-%u", size); BUG_ON(!n); kmalloc_dma_caches[i] = create_kmalloc_cache(n, _ -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html