Hi Alastair, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.3 next-20190925] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Alastair-D-Silva/memory_hotplug-Add-a-bounds-check-to-__add_pages/20190926-094437 config: i386-randconfig-g004-201938 (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): mm/memory_hotplug.c: In function 'check_hotplug_memory_addressable': >> mm/memory_hotplug.c:286:15: warning: right shift count >= width of type [-Wshift-count-overflow] if (max_addr >> MAX_PHYSMEM_BITS) { ^~ In file included from arch/x86/include/asm/bug.h:83:0, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from mm/memory_hotplug.c:9: >> mm/memory_hotplug.c:290:13: warning: left shift count >= width of type [-Wshift-count-overflow] (1ul << (MAX_PHYSMEM_BITS + 1)) - 1); ^ include/asm-generic/bug.h:112:21: note: in definition of macro '__WARN_printf_taint' do { __warn_printk(arg); __WARN_TAINT(taint); } while (0) ^~~ include/asm-generic/bug.h:135:3: note: in expansion of macro '__WARN_printf' __WARN_printf(format); \ ^~~~~~~~~~~~~ >> mm/memory_hotplug.c:287:3: note: in expansion of macro 'WARN' WARN(1, ^~~~ vim +286 mm/memory_hotplug.c 280 281 static int check_hotplug_memory_addressable(unsigned long pfn, 282 unsigned long nr_pages) 283 { 284 unsigned long max_addr = ((pfn + nr_pages) << PAGE_SHIFT) - 1; 285 > 286 if (max_addr >> MAX_PHYSMEM_BITS) { > 287 WARN(1, 288 "Hotplugged memory exceeds maximum addressable address, range=%#lx-%#lx, maximum=%#lx\n", 289 pfn << PAGE_SHIFT, max_addr, > 290 (1ul << (MAX_PHYSMEM_BITS + 1)) - 1); 291 return -E2BIG; 292 } 293 294 return 0; 295 } 296 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip