Hi Kui-Feng, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Kui-Feng-Lee/bpf-Retire-the-struct_ops-map-kvalue-refcnt/20230308-085434 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20230308005050.255859-4-kuifeng%40meta.com patch subject: [PATCH bpf-next v5 3/8] bpf: Create links for BPF struct_ops maps. config: i386-randconfig-a012-20230306 (https://download.01.org/0day-ci/archive/20230308/202303082344.mxuydKat-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) 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/de9e43a5ac82dde718d80d8347e867a8fc935e0a git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Kui-Feng-Lee/bpf-Retire-the-struct_ops-map-kvalue-refcnt/20230308-085434 git checkout de9e43a5ac82dde718d80d8347e867a8fc935e0a # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/ethernet/intel/fm10k/ drivers/net/ethernet/intel/ixgbe/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303082344.mxuydKat-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from drivers/net/ethernet/intel/fm10k/fm10k_main.c:8: In file included from include/net/tcp.h:35: In file included from include/net/sock_reuseport.h:5: In file included from include/linux/filter.h:9: include/linux/bpf.h:2388:19: error: redefinition of 'bpf_struct_ops_link_create' static inline int bpf_struct_ops_link_create(union bpf_attr *attr) ^ include/linux/bpf.h:1592:19: note: previous definition is here static inline int bpf_struct_ops_link_create(union bpf_attr *attr) ^ >> drivers/net/ethernet/intel/fm10k/fm10k_main.c:886:16: warning: division by zero is undefined [-Wdivision-by-zero] desc_flags |= FM10K_SET_FLAG(tx_flags, FM10K_TX_FLAGS_CSUM, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/fm10k/fm10k_main.c:878:26: note: expanded from macro 'FM10K_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ 1 warning and 1 error generated. -- In file included from drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:27: include/linux/bpf.h:2388:19: error: redefinition of 'bpf_struct_ops_link_create' static inline int bpf_struct_ops_link_create(union bpf_attr *attr) ^ include/linux/bpf.h:1592:19: note: previous definition is here static inline int bpf_struct_ops_link_create(union bpf_attr *attr) ^ >> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8223:14: warning: division by zero is undefined [-Wdivision-by-zero] cmd_type |= IXGBE_SET_FLAG(tx_flags, IXGBE_TX_FLAGS_HW_VLAN, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8227:14: warning: division by zero is undefined [-Wdivision-by-zero] cmd_type |= IXGBE_SET_FLAG(tx_flags, IXGBE_TX_FLAGS_TSO, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8231:14: warning: division by zero is undefined [-Wdivision-by-zero] cmd_type |= IXGBE_SET_FLAG(tx_flags, IXGBE_TX_FLAGS_TSTAMP, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8235:14: warning: division by zero is undefined [-Wdivision-by-zero] cmd_type ^= IXGBE_SET_FLAG(skb->no_fcs, 1, IXGBE_ADVTXD_DCMD_IFCS); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8246:19: warning: division by zero is undefined [-Wdivision-by-zero] olinfo_status |= IXGBE_SET_FLAG(tx_flags, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8251:19: warning: division by zero is undefined [-Wdivision-by-zero] olinfo_status |= IXGBE_SET_FLAG(tx_flags, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8256:19: warning: division by zero is undefined [-Wdivision-by-zero] olinfo_status |= IXGBE_SET_FLAG(tx_flags, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8264:19: warning: division by zero is undefined [-Wdivision-by-zero] olinfo_status |= IXGBE_SET_FLAG(tx_flags, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8213:26: note: expanded from macro 'IXGBE_SET_FLAG' ((u32)(_input & _flag) / (_flag / _result))) ^ ~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:10807:46: warning: shift count >= width of type [-Wshift-count-overflow] err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 9 warnings and 1 error generated. vim +886 drivers/net/ethernet/intel/fm10k/fm10k_main.c 76a540d4728a37 Alexander Duyck 2014-09-20 874 76a540d4728a37 Alexander Duyck 2014-09-20 875 #define FM10K_SET_FLAG(_input, _flag, _result) \ 76a540d4728a37 Alexander Duyck 2014-09-20 876 ((_flag <= _result) ? \ 76a540d4728a37 Alexander Duyck 2014-09-20 877 ((u32)(_input & _flag) * (_result / _flag)) : \ 76a540d4728a37 Alexander Duyck 2014-09-20 878 ((u32)(_input & _flag) / (_flag / _result))) 76a540d4728a37 Alexander Duyck 2014-09-20 879 76a540d4728a37 Alexander Duyck 2014-09-20 880 static u8 fm10k_tx_desc_flags(struct sk_buff *skb, u32 tx_flags) 76a540d4728a37 Alexander Duyck 2014-09-20 881 { 76a540d4728a37 Alexander Duyck 2014-09-20 882 /* set type for advanced descriptor with frame checksum insertion */ 76a540d4728a37 Alexander Duyck 2014-09-20 883 u32 desc_flags = 0; 76a540d4728a37 Alexander Duyck 2014-09-20 884 76a540d4728a37 Alexander Duyck 2014-09-20 885 /* set checksum offload bits */ 76a540d4728a37 Alexander Duyck 2014-09-20 @886 desc_flags |= FM10K_SET_FLAG(tx_flags, FM10K_TX_FLAGS_CSUM, 76a540d4728a37 Alexander Duyck 2014-09-20 887 FM10K_TXD_FLAG_CSUM); 76a540d4728a37 Alexander Duyck 2014-09-20 888 76a540d4728a37 Alexander Duyck 2014-09-20 889 return desc_flags; 76a540d4728a37 Alexander Duyck 2014-09-20 890 } 76a540d4728a37 Alexander Duyck 2014-09-20 891 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests