Re: [PATCH 1/7] mm: allocate mm_cpumask dynamically based on nr_cpu_ids

From: kbuild test robot
Date: Wed Jun 20 2018 - 20:25:35 EST


Hi Rik,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v4.17]
[also build test WARNING on next-20180620]
[cannot apply to tip/x86/core linus/master mmotm/master v4.18-rc1]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Rik-van-Riel/x86-tlb-mm-make-lazy-TLB-mode-even-lazier/20180621-045620
config: x86_64-allyesdebian (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All warnings (new ones prefixed by >>):

In file included from include/linux/cpumask.h:12:0,
from arch/x86/include/asm/cpumask.h:5,
from arch/x86/include/asm/msr.h:11,
from arch/x86/include/asm/processor.h:21,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from arch/x86/platform/efi/efi_64.c:23:
In function 'bitmap_zero.constprop',
inlined from 'cpumask_clear.constprop' at include/linux/cpumask.h:378:2,
inlined from 'efi_alloc_page_tables' at include/linux/mm_types.h:512:2:
>> include/linux/bitmap.h:208:3: warning: 'memset' writing 64 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
memset(dst, 0, len);
^~~~~~~~~~~~~~~~~~~

vim +/memset +208 include/linux/bitmap.h

^1da177e Linus Torvalds 2005-04-16 198
4b0bc0bc Rusty Russell 2008-12-30 199 #define small_const_nbits(nbits) \
4b0bc0bc Rusty Russell 2008-12-30 200 (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
4b0bc0bc Rusty Russell 2008-12-30 201
8b4daad5 Rasmus Villemoes 2015-02-12 202 static inline void bitmap_zero(unsigned long *dst, unsigned int nbits)
^1da177e Linus Torvalds 2005-04-16 203 {
4b0bc0bc Rusty Russell 2008-12-30 204 if (small_const_nbits(nbits))
^1da177e Linus Torvalds 2005-04-16 205 *dst = 0UL;
^1da177e Linus Torvalds 2005-04-16 206 else {
8b4daad5 Rasmus Villemoes 2015-02-12 207 unsigned int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
^1da177e Linus Torvalds 2005-04-16 @208 memset(dst, 0, len);
^1da177e Linus Torvalds 2005-04-16 209 }
^1da177e Linus Torvalds 2005-04-16 210 }
^1da177e Linus Torvalds 2005-04-16 211

:::::: The code at line 208 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip