Subject: Re: [PATCH bpf-next 1/2] bpf, xdp: per-map bpf_redirect_map functions for XDP

From: kernel test robot <[email-masked]>
Date: Sat, 20 Feb 2021 02:13:08 +0800

Hi "Björn,

I love your patch! Yet something to improve:

[auto build test ERROR on 7b1e385c9a488de9291eaaa412146d3972e9dec5]

url:    https://github.com/0day-ci/linux/commits/Bj-rn-T-pel/Optimize-bpf_redirect_map-xdp_do_redirect/20210219-230349
base:   7b1e385c9a488de9291eaaa412146d3972e9dec5
config: x86_64-randconfig-r032-20210219 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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://github.com/0day-ci/linux/commit/e784328ffb3b588155aeee02ff6a96b4a6b7cf20
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Bj-rn-T-pel/Optimize-bpf_redirect_map-xdp_do_redirect/20210219-230349
        git checkout e784328ffb3b588155aeee02ff6a96b4a6b7cf20
        # 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 <[email-masked]>

All error/warnings (new ones prefixed by >>):

   In file included from arch/x86/kernel/asm-offsets.c:13:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:28:
   In file included from include/linux/cgroup-defs.h:22:
   In file included from include/linux/bpf-cgroup.h:5:
>> include/linux/bpf.h:1629:42: warning: declaration of 'struct bpf_cpu_map_entry' will not be visible outside of this function [-Wvisibility]
   static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
                                            ^
   1 warning generated.
--
   In file included from arch/x86/mm/ioremap.c:23:
   In file included from arch/x86/include/asm/efi.h:7:
   In file included from arch/x86/include/asm/tlb.h:12:
   In file included from include/asm-generic/tlb.h:15:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:28:
   In file included from include/linux/cgroup-defs.h:22:
   In file included from include/linux/bpf-cgroup.h:5:
>> include/linux/bpf.h:1629:42: warning: declaration of 'struct bpf_cpu_map_entry' will not be visible outside of this function [-Wvisibility]
   static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
                                            ^
   arch/x86/mm/ioremap.c:737:17: warning: no previous prototype for function 'early_memremap_pgprot_adjust' [-Wmissing-prototypes]
   pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr,
                   ^
   arch/x86/mm/ioremap.c:737:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr,
   ^
   static 
   2 warnings generated.
--
   In file included from arch/x86/mm/extable.c:9:
   In file included from arch/x86/include/asm/traps.h:9:
   In file included from arch/x86/include/asm/idtentry.h:9:
   In file included from include/linux/entry-common.h:5:
   In file included from include/linux/tracehook.h:50:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:28:
   In file included from include/linux/cgroup-defs.h:22:
   In file included from include/linux/bpf-cgroup.h:5:
>> include/linux/bpf.h:1629:42: warning: declaration of 'struct bpf_cpu_map_entry' will not be visible outside of this function [-Wvisibility]
   static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
                                            ^
   arch/x86/mm/extable.c:27:16: warning: no previous prototype for function 'ex_handler_default' [-Wmissing-prototypes]
   __visible bool ex_handler_default(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:27:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_default(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:37:16: warning: no previous prototype for function 'ex_handler_fault' [-Wmissing-prototypes]
   __visible bool ex_handler_fault(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:37:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_fault(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:58:16: warning: no previous prototype for function 'ex_handler_fprestore' [-Wmissing-prototypes]
   __visible bool ex_handler_fprestore(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:58:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_fprestore(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:73:16: warning: no previous prototype for function 'ex_handler_uaccess' [-Wmissing-prototypes]
   __visible bool ex_handler_uaccess(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:73:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_uaccess(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:84:16: warning: no previous prototype for function 'ex_handler_copy' [-Wmissing-prototypes]
   __visible bool ex_handler_copy(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:84:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_copy(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:96:16: warning: no previous prototype for function 'ex_handler_rdmsr_unsafe' [-Wmissing-prototypes]
   __visible bool ex_handler_rdmsr_unsafe(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:96:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_rdmsr_unsafe(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:113:16: warning: no previous prototype for function 'ex_handler_wrmsr_unsafe' [-Wmissing-prototypes]
   __visible bool ex_handler_wrmsr_unsafe(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:113:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_wrmsr_unsafe(const struct exception_table_entry *fixup,
             ^
             static 
   arch/x86/mm/extable.c:129:16: warning: no previous prototype for function 'ex_handler_clear_fs' [-Wmissing-prototypes]
   __visible bool ex_handler_clear_fs(const struct exception_table_entry *fixup,
                  ^
   arch/x86/mm/extable.c:129:11: note: declare 'static' if the function is not intended to be used outside of this translation unit
   __visible bool ex_handler_clear_fs(const struct exception_table_entry *fixup,
             ^
             static 
   9 warnings generated.
--
   In file included from <built-in>:3:
   In file included from drivers/gpu/drm/i915/display/intel_cdclk.h:11:
   In file included from drivers/gpu/drm/i915/i915_drv.h:46:
   In file included from include/linux/perf_event.h:57:
   In file included from include/linux/cgroup.h:28:
   In file included from include/linux/cgroup-defs.h:22:
   In file included from include/linux/bpf-cgroup.h:5:
>> include/linux/bpf.h:1629:42: error: declaration of 'struct bpf_cpu_map_entry' will not be visible outside of this function [-Werror,-Wvisibility]
   static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
                                            ^
   1 error generated.
--
   In file included from arch/x86/kernel/asm-offsets.c:13:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:28:
   In file included from include/linux/cgroup-defs.h:22:
   In file included from include/linux/bpf-cgroup.h:5:
>> include/linux/bpf.h:1629:42: warning: declaration of 'struct bpf_cpu_map_entry' will not be visible outside of this function [-Wvisibility]
   static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
                                            ^
   1 warning generated.

vim +1629 include/linux/bpf.h

9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1628  
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16 @1629  static inline int cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu,
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1630  				  struct xdp_buff *xdp,
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1631  				  struct net_device *dev_rx)
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1632  {
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1633  	return 0;
9c270af37bb62e Jesper Dangaard Brouer 2017-10-16  1634  }
040ee69226f8a9 Al Viro                2017-12-02  1635  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email-masked]