Re: [bpf-next PATCH 1/4] bpf: devmap introduce dev_map_enqueue

kbuild test robot
2018-05-10T09:10:54Z

[-- Attachment #1: Type: text/plain, Size: 2637 bytes --]

Hi Jesper,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on bpf-next/master]

url: https://github.com/0day-ci/linux/commits/Jesper-Dangaard-Brouer/xdp-introduce-bulking-for-ndo_xdp_xmit-API/20180510-134105
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

In file included from net/core/filter.c:52:0:
include/linux/bpf.h:577:28: warning: 'struct bpf_dtab_netdev' declared inside parameter list will not be visible outside of this definition or declaration
int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_buff *xdp)
^~~~~~~~~~~~~~~
net/core/filter.c: In function '__bpf_tx_xdp_map':
>> net/core/filter.c:3025:25: error: passing argument 1 of 'dev_map_enqueue' from incompatible pointer type [-Werror=incompatible-pointer-types]
err = dev_map_enqueue(dst, xdp);
^~~
In file included from net/core/filter.c:52:0:
include/linux/bpf.h:577:5: note: expected 'struct bpf_dtab_netdev *' but argument is of type 'struct bpf_dtab_netdev *'
int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_buff *xdp)
^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/dev_map_enqueue +3025 net/core/filter.c

3013
3014 static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd,
3015 struct bpf_map *map,
3016 struct xdp_buff *xdp,
3017 u32 index)
3018 {
3019 int err;
3020
3021 switch (map->map_type) {
3022 case BPF_MAP_TYPE_DEVMAP: {
3023 struct bpf_dtab_netdev *dst = fwd;
3024
> 3025 err = dev_map_enqueue(dst, xdp);
3026 if (err)
3027 return err;
3028 __dev_map_insert_ctx(map, index);
3029 break;
3030 }
3031 case BPF_MAP_TYPE_CPUMAP: {
3032 struct bpf_cpu_map_entry *rcpu = fwd;
3033
3034 err = cpu_map_enqueue(rcpu, xdp, dev_rx);
3035 if (err)
3036 return err;
3037 __cpu_map_insert_ctx(map, index);
3038 break;
3039 }
3040 case BPF_MAP_TYPE_XSKMAP: {
3041 struct xdp_sock *xs = fwd;
3042
3043 err = __xsk_map_redirect(map, xdp, xs);
3044 return err;
3045 }
3046 default:
3047 break;
3048 }
3049 return 0;
3050 }
3051

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30404 bytes --]