Re: [PATCH bpf 3/4] module: introduce module_alloc_huge

kernel test robot
2022-04-22T09:48:48Z

Hi Song,

I love your patch! Yet something to improve:

[auto build test ERROR on bpf/master]

url: https://github.com/intel-lab-lkp/linux/commits/Song-Liu/bpf_prog_pack-and-vmalloc-on-huge-page-fixes/20220422-133605
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
config: x86_64-randconfig-a004 (https://download.01.org/0day-ci/archive/20220422/202204221700.93ehQrzU-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/8a0dfde5aef7e95487be2f6e3ff9487d79a30714
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Song-Liu/bpf_prog_pack-and-vmalloc-on-huge-page-fixes/20220422-133605
git checkout 8a0dfde5aef7e95487be2f6e3ff9487d79a30714
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

arch/x86/kernel/module.c: In function 'module_alloc_huge':
>> arch/x86/kernel/module.c:100:54: error: 'VM_ALLOW_HUGE_VMAP' undeclared (first use in this function); did you mean 'VM_NO_HUGE_VMAP'?
100 | VM_DEFER_KMEMLEAK | VM_ALLOW_HUGE_VMAP,
| ^~~~~~~~~~~~~~~~~~
| VM_NO_HUGE_VMAP
arch/x86/kernel/module.c:100:54: note: each undeclared identifier is reported only once for each function it appears in

vim +100 arch/x86/kernel/module.c

88
89 void *module_alloc_huge(unsigned long size)
90 {
91 gfp_t gfp_mask = GFP_KERNEL;
92 void *p;
93
94 if (PAGE_ALIGN(size) > MODULES_LEN)
95 return NULL;
96
97 p = __vmalloc_node_range(size, MODULE_ALIGN,
98 MODULES_VADDR + get_module_load_offset(),
99 MODULES_END, gfp_mask, PAGE_KERNEL,
> 100 VM_DEFER_KMEMLEAK | VM_ALLOW_HUGE_VMAP,
101 NUMA_NO_NODE, __builtin_return_address(0));
102 if (p && (kasan_alloc_module_shadow(p, size, gfp_mask) < 0)) {
103 vfree(p);
104 return NULL;
105 }
106
107 return p;
108 }
109

--
0-DAY CI Kernel Test Service