Re: [PATCH v6 1/1] memory_hotplug: Add a bounds check to __add_pages

From: kbuild test robot
Date: Mon Sep 30 2019 - 04:21:15 EST


Hi Alastair,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[cannot apply to v5.3 next-20190926]
[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/Add-bounds-check-for-Hotplugged-memory/20190930-143107
config: i386-randconfig-g004-201939 (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 >>):

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: In function 'check_hotplug_memory_addressable':
>> mm/memory_hotplug.c:289:8: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type 'unsigned int' [-Wformat=]
"Hotplugged memory exceeds maximum addressable address, range=%#llx-%#llx, maximum=%#llx\n",
^
include/asm-generic/bug.h:92:17: note: in definition of macro '__WARN_printf'
__warn_printk(arg); \
^~~
mm/memory_hotplug.c:288:3: note: in expansion of macro 'WARN'
WARN(1,
^~~~

vim +289 mm/memory_hotplug.c

280
281 static int check_hotplug_memory_addressable(unsigned long pfn,
282 unsigned long nr_pages)
283 {
284 const u64 max_addr = PFN_PHYS(pfn + nr_pages) - 1;
285
286 if (max_addr >> MAX_PHYSMEM_BITS) {
287 const u64 max_allowed = (1ull << (MAX_PHYSMEM_BITS + 1)) - 1;
288 WARN(1,
> 289 "Hotplugged memory exceeds maximum addressable address, range=%#llx-%#llx, maximum=%#llx\n",
290 PFN_PHYS(pfn), max_addr, max_allowed);
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