On Sun, Jan 10, 2021 at 6:33 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y > head: 610bdbf6a174c9a91e34e276a9594114b44bef74 > commit: b6f69f72c15d7f973f5709c5351f378f235b3654 [1441/2773] mm: don't rely on system state to detect hot-plug operations > config: x86_64-randconfig-a001-20210110 (attached as .config) > compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bc556e5685c0f97e79fb7b3c6f15cc5062db8e36) > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # install x86_64 cross compiling tool for clang build > # apt-get install binutils-x86-64-linux-gnu > # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=b6f69f72c15d7f973f5709c5351f378f235b3654 > git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > git fetch --no-tags linux-stable-rc linux-4.19.y > git checkout b6f69f72c15d7f973f5709c5351f378f235b3654 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All warnings (new ones prefixed by >>): > > >> drivers/base/node.c:429:5: warning: no previous prototype for function 'register_mem_block_under_node_early' [-Wmissing-prototypes] > int register_mem_block_under_node_early(struct memory_block *mem_blk, void *arg) > ^ > drivers/base/node.c:429:1: note: declare 'static' if the function is not intended to be used outside of this translation unit > int register_mem_block_under_node_early(struct memory_block *mem_blk, void *arg) > ^ > static > 1 warning generated. It is fixed in the mainline. Will stable tree pick it from there ? > > > vim +/register_mem_block_under_node_early +429 drivers/base/node.c > > 427 > 428 /* register memory section under specified node if it spans that node */ > > 429 int register_mem_block_under_node_early(struct memory_block *mem_blk, void *arg) > 430 { > 431 int nid = *(int *)arg; > 432 unsigned long pfn, sect_start_pfn, sect_end_pfn; > 433 > 434 sect_start_pfn = section_nr_to_pfn(mem_blk->start_section_nr); > 435 sect_end_pfn = section_nr_to_pfn(mem_blk->end_section_nr); > 436 sect_end_pfn += PAGES_PER_SECTION - 1; > 437 for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) { > 438 int page_nid; > 439 > 440 /* > 441 * memory block could have several absent sections from start. > 442 * skip pfn range from absent section > 443 */ > 444 if (!pfn_present(pfn)) { > 445 pfn = round_down(pfn + PAGES_PER_SECTION, > 446 PAGES_PER_SECTION) - 1; > 447 continue; > 448 } > 449 > 450 /* > 451 * We need to check if page belongs to nid only at the boot > 452 * case because node's ranges can be interleaved. > 453 */ > 454 page_nid = get_nid_for_pfn(pfn); > 455 if (page_nid < 0) > 456 continue; > 457 if (page_nid != nid) > 458 continue; > 459 > 460 return do_register_memory_block_under_node(nid, mem_blk); > 461 } > 462 /* mem section does not span the specified node */ > 463 return 0; > 464 } > 465 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx