tree: https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git xdp-queueing-01 head: 6b5756c44933d2b55e5e59e1196ef95894203cf7 commit: b8d0d0f924c237daf55b430a85007bd41ad01d7e [1/3] Add a PIFO map type for queueing packets config: um-x86_64_defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/commit/?id=b8d0d0f924c237daf55b430a85007bd41ad01d7e git remote add toke https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git git fetch --no-tags toke xdp-queueing-01 git checkout b8d0d0f924c237daf55b430a85007bd41ad01d7e # save the attached .config to linux build tree make W=1 ARCH=um SUBARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): net/core/filter.c: In function 'xdp_do_redirect': >> net/core/filter.c:3984:10: error: implicit declaration of function 'pifo_map_enqueue'; did you mean 'cpu_map_enqueue'? [-Werror=implicit-function-declaration] 3984 | err = pifo_map_enqueue(map, xdp, ri->tgt_index); | ^~~~~~~~~~~~~~~~ | cpu_map_enqueue cc1: some warnings being treated as errors vim +3984 net/core/filter.c 3952 3953 int xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp, 3954 struct bpf_prog *xdp_prog) 3955 { 3956 struct bpf_redirect_info *ri = this_cpu_ptr(&bpf_redirect_info); 3957 enum bpf_map_type map_type = ri->map_type; 3958 void *fwd = ri->tgt_value; 3959 u32 map_id = ri->map_id; 3960 struct bpf_map *map; 3961 int err; 3962 3963 ri->map_id = 0; /* Valid map id idr range: [1,INT_MAX[ */ 3964 ri->map_type = BPF_MAP_TYPE_UNSPEC; 3965 3966 switch (map_type) { 3967 case BPF_MAP_TYPE_DEVMAP: 3968 fallthrough; 3969 case BPF_MAP_TYPE_DEVMAP_HASH: 3970 map = READ_ONCE(ri->map); 3971 if (unlikely(map)) { 3972 WRITE_ONCE(ri->map, NULL); 3973 err = dev_map_enqueue_multi(xdp, dev, map, 3974 ri->flags & BPF_F_EXCLUDE_INGRESS); 3975 } else { 3976 err = dev_map_enqueue(fwd, xdp, dev); 3977 } 3978 break; 3979 case BPF_MAP_TYPE_PIFO: 3980 map = READ_ONCE(ri->map); 3981 if (unlikely(!map)) 3982 err = -EINVAL; 3983 else > 3984 err = pifo_map_enqueue(map, xdp, ri->tgt_index); 3985 break; 3986 case BPF_MAP_TYPE_CPUMAP: 3987 err = cpu_map_enqueue(fwd, xdp, dev); 3988 break; 3989 case BPF_MAP_TYPE_XSKMAP: 3990 err = __xsk_map_redirect(fwd, xdp); 3991 break; 3992 case BPF_MAP_TYPE_UNSPEC: 3993 if (map_id == INT_MAX) { 3994 fwd = dev_get_by_index_rcu(dev_net(dev), ri->tgt_index); 3995 if (unlikely(!fwd)) { 3996 err = -EINVAL; 3997 break; 3998 } 3999 err = dev_xdp_enqueue(fwd, xdp, dev); 4000 break; 4001 } 4002 fallthrough; 4003 default: 4004 err = -EBADRQC; 4005 } 4006 4007 if (unlikely(err)) 4008 goto err; 4009 4010 _trace_xdp_redirect_map(dev, xdp_prog, fwd, map_type, map_id, ri->tgt_index); 4011 return 0; 4012 err: 4013 _trace_xdp_redirect_map_err(dev, xdp_prog, fwd, map_type, map_id, ri->tgt_index, err); 4014 return err; 4015 } 4016 EXPORT_SYMBOL_GPL(xdp_do_redirect); 4017 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org