Hi Maciej, kernel test robot noticed the following build errors: [auto build test ERROR on bpf/master] url: https://github.com/intel-lab-lkp/linux/commits/Maciej-Fijalkowski/xsk-recycle-buffer-in-case-Rx-queue-was-full/20231208-193306 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master patch link: https://lore.kernel.org/r/20231208112945.313687-3-maciej.fijalkowski%40intel.com patch subject: [PATCH bpf 2/3] net: fix usage of multi-buffer BPF helper for ZC AF_XDP config: i386-buildonly-randconfig-003-20231208 (https://download.01.org/0day-ci/archive/20231209/202312090104.6EOsoGVa-lkp@xxxxxxxxx/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231209/202312090104.6EOsoGVa-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202312090104.6EOsoGVa-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> net/core/filter.c:4102:3: error: call to undeclared function 'xsk_buff_get_tail'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] xsk_buff_get_tail(xdp)->data_end -= shrink; ^ net/core/filter.c:4102:3: note: did you mean 'xsk_buff_get_frag'? include/net/xdp_sock_drv.h:324:32: note: 'xsk_buff_get_frag' declared here static inline struct xdp_buff *xsk_buff_get_frag(struct xdp_buff *first) ^ >> net/core/filter.c:4102:27: error: member reference type 'int' is not a pointer xsk_buff_get_tail(xdp)->data_end -= shrink; ~~~~~~~~~~~~~~~~~~~~~~ ^ net/core/filter.c:4115:14: error: call to undeclared function 'xsk_buff_get_tail'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] zc_frag = xsk_buff_get_tail(xdp); ^ >> net/core/filter.c:4115:12: error: incompatible integer to pointer conversion assigning to 'struct xdp_buff *' from 'int' [-Wint-conversion] zc_frag = xsk_buff_get_tail(xdp); ^ ~~~~~~~~~~~~~~~~~~~~~~ >> net/core/filter.c:4117:4: error: call to undeclared function 'xsk_buff_tail_del'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] xsk_buff_tail_del(zc_frag); ^ 5 errors generated. vim +/xsk_buff_get_tail +4102 net/core/filter.c 4097 4098 static void __shrink_data(struct xdp_buff *xdp, struct xdp_mem_info *mem_info, 4099 skb_frag_t *frag, int shrink) 4100 { 4101 if (mem_info->type == MEM_TYPE_XSK_BUFF_POOL) > 4102 xsk_buff_get_tail(xdp)->data_end -= shrink; 4103 skb_frag_size_sub(frag, shrink); 4104 } 4105 4106 static bool shrink_data(struct xdp_buff *xdp, skb_frag_t *frag, int shrink) 4107 { 4108 struct xdp_mem_info *mem_info = &xdp->rxq->mem; 4109 4110 if (skb_frag_size(frag) == shrink) { 4111 struct page *page = skb_frag_page(frag); 4112 struct xdp_buff *zc_frag = NULL; 4113 4114 if (mem_info->type == MEM_TYPE_XSK_BUFF_POOL) { > 4115 zc_frag = xsk_buff_get_tail(xdp); 4116 xdp_buff_clear_frags_flag(zc_frag); > 4117 xsk_buff_tail_del(zc_frag); 4118 } 4119 4120 __xdp_return(page_address(page), mem_info, false, zc_frag); 4121 return true; 4122 } 4123 __shrink_data(xdp, mem_info, frag, shrink); 4124 return false; 4125 } 4126 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki