Message ID | 20220519202037.2401584-8-song@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | bpf_prog_pack followup | expand |
Context | Check | Description |
---|---|---|
bpf/vmtest-bpf-next-VM_Test-1 | fail | Logs for Kernel LATEST on ubuntu-latest with gcc |
bpf/vmtest-bpf-next-VM_Test-2 | fail | Logs for Kernel LATEST on ubuntu-latest with llvm-15 |
bpf/vmtest-bpf-next-PR | fail | PR summary |
bpf/vmtest-bpf-next-VM_Test-3 | fail | Logs for Kernel LATEST on z15 with gcc |
Hi Song, I love your patch! Yet something to improve: [auto build test ERROR on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Song-Liu/bpf_prog_pack-followup/20220520-043417 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: sh-randconfig-r024-20220519 (https://download.01.org/0day-ci/archive/20220520/202205200826.fu46joi3-lkp@intel.com/config) compiler: sh4-linux-gcc (GCC) 11.3.0 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 # https://github.com/intel-lab-lkp/linux/commit/f1d2b40a3e45708f74228a552a43399b20c71954 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Song-Liu/bpf_prog_pack-followup/20220520-043417 git checkout f1d2b40a3e45708f74228a552a43399b20c71954 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=sh 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 >>): sh4-linux-ld: drivers/firewire/core-iso.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/firewire/core-cdev.o:include/linux/vmalloc.h:251: first defined here -- sh4-linux-ld: drivers/mtd/ubi/vmt.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/upd.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/build.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/cdev.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/kapi.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/eba.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/io.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/wl.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/attach.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/misc.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/mtd/ubi/debug.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/mtd/ubi/vtbl.o:include/linux/vmalloc.h:251: first defined here -- sh4-linux-ld: drivers/usb/gadget/function/uvc_queue.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/usb/gadget/function/f_uvc.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: drivers/usb/gadget/function/uvc_v4l2.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/usb/gadget/function/f_uvc.o:include/linux/vmalloc.h:251: first defined here -- sh4-linux-ld: drivers/hid/hid-picolcd_cir.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; drivers/hid/hid-picolcd_core.o:include/linux/vmalloc.h:251: first defined here -- sh4-linux-ld: fs/jffs2/read.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/write.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/gc.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/build.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/fs.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/super.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/compr_rtime.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/compr_zlib.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/jffs2/compr_lzo.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/jffs2/compr.o:include/linux/vmalloc.h:251: first defined here -- sh4-linux-ld: fs/ubifs/journal.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/file.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/dir.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/super.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/sb.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/io.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/tnc.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/master.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/scan.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/replay.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/log.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/commit.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/gc.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/orphan.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/budget.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/find.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/tnc_commit.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/compress.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/lpt.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/lprops.o: in function `huge_vmalloc_supported': >> include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/recovery.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/ioctl.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/lpt_commit.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/tnc_misc.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/debug.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/misc.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/sysfs.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/crypto.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/xattr.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here sh4-linux-ld: fs/ubifs/auth.o: in function `huge_vmalloc_supported': include/linux/vmalloc.h:251: multiple definition of `huge_vmalloc_supported'; fs/ubifs/shrinker.o:include/linux/vmalloc.h:251: first defined here vim +251 include/linux/vmalloc.h 246 247 #else 248 static inline void set_vm_flush_reset_perms(void *addr) 249 { 250 } > 251 bool huge_vmalloc_supported(void) { return false; } 252 #endif 253
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 5e0d0a60d9d5..3268e7e875ff 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h @@ -242,11 +242,13 @@ static inline void set_vm_flush_reset_perms(void *addr) if (vm) vm->flags |= VM_FLUSH_RESET_PERMS; } +bool huge_vmalloc_supported(void); #else static inline void set_vm_flush_reset_perms(void *addr) { } +bool huge_vmalloc_supported(void) { return false; } #endif /* for /proc/kcore */ diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 07da85ae825b..d3b11317b025 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -72,6 +72,11 @@ early_param("nohugevmalloc", set_nohugevmalloc); static const bool vmap_allow_huge = false; #endif /* CONFIG_HAVE_ARCH_HUGE_VMALLOC */ +bool huge_vmalloc_supported(void) +{ + return vmap_allow_huge; +} + bool is_vmalloc_addr(const void *x) { unsigned long addr = (unsigned long)kasan_reset_tag(x);
huge_vmalloc_supported() exposes vmap_allow_huge so that users of vmalloc APIs could know whether vmalloc will return huge pages. Suggested-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Signed-off-by: Song Liu <song@kernel.org> --- include/linux/vmalloc.h | 2 ++ mm/vmalloc.c | 5 +++++ 2 files changed, 7 insertions(+)