[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201707180727.AVLbjxqL%fengguang.wu@intel.com>
Date: Tue, 18 Jul 2017 07:43:30 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: John Fastabend <john.fastabend@...il.com>
Cc: kbuild-all@...org, netdev@...r.kernel.org,
Jesper Dangaard Brouer <brouer@...hat.com>
Subject: [net-next:master 56/77] net/core/filter.c:2475: undefined reference
to `__dev_map_flush'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: 24251c264798ac5a72667245c2650676d7ac2108
commit: 11393cc9b9be2a1f61559e6fb9c27bc8fa20b1ff [56/77] xdp: Add batching support to redirect map
config: m32r-opsput_defconfig (attached as .config)
compiler: m32r-linux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 11393cc9b9be2a1f61559e6fb9c27bc8fa20b1ff
# save the attached .config to linux build tree
make.cross ARCH=m32r
All errors (new ones prefixed by >>):
net/core/filter.o: In function `xdp_do_flush_map':
>> net/core/filter.c:2475: undefined reference to `__dev_map_flush'
net/core/filter.c:2475:(.text+0x24f0): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `__dev_map_flush'
net/core/filter.o: In function `__bpf_tx_xdp':
>> net/core/filter.c:2459: undefined reference to `__dev_map_insert_ctx'
net/core/filter.c:2459:(.text+0x4528): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `__dev_map_insert_ctx'
net/core/filter.o: In function `xdp_do_redirect_map':
>> net/core/filter.c:2491: undefined reference to `__dev_map_lookup_elem'
net/core/filter.c:2491:(.text+0x4c5c): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `__dev_map_lookup_elem'
net/core/filter.o: In function `xdp_do_flush_map':
>> net/core/filter.c:2475: undefined reference to `__dev_map_flush'
net/core/filter.c:2475:(.text+0x4c7c): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `__dev_map_flush'
vim +2475 net/core/filter.c
2441
2442 static int __bpf_tx_xdp(struct net_device *dev,
2443 struct bpf_map *map,
2444 struct xdp_buff *xdp,
2445 u32 index)
2446 {
2447 int err;
2448
2449 if (!dev->netdev_ops->ndo_xdp_xmit) {
2450 bpf_warn_invalid_xdp_redirect(dev->ifindex);
2451 return -EOPNOTSUPP;
2452 }
2453
2454 err = dev->netdev_ops->ndo_xdp_xmit(dev, xdp);
2455 if (err)
2456 return err;
2457
2458 if (map)
> 2459 __dev_map_insert_ctx(map, index);
2460 else
2461 dev->netdev_ops->ndo_xdp_flush(dev);
2462
2463 return err;
2464 }
2465
2466 void xdp_do_flush_map(void)
2467 {
2468 struct redirect_info *ri = this_cpu_ptr(&redirect_info);
2469 struct bpf_map *map = ri->map_to_flush;
2470
2471 ri->map = NULL;
2472 ri->map_to_flush = NULL;
2473
2474 if (map)
> 2475 __dev_map_flush(map);
2476 }
2477 EXPORT_SYMBOL_GPL(xdp_do_flush_map);
2478
2479 int xdp_do_redirect_map(struct net_device *dev, struct xdp_buff *xdp,
2480 struct bpf_prog *xdp_prog)
2481 {
2482 struct redirect_info *ri = this_cpu_ptr(&redirect_info);
2483 struct bpf_map *map = ri->map;
2484 u32 index = ri->ifindex;
2485 struct net_device *fwd;
2486 int err = -EINVAL;
2487
2488 ri->ifindex = 0;
2489 ri->map = NULL;
2490
> 2491 fwd = __dev_map_lookup_elem(map, index);
2492 if (!fwd)
2493 goto out;
2494
2495 if (ri->map_to_flush && (ri->map_to_flush != map))
2496 xdp_do_flush_map();
2497
2498 err = __bpf_tx_xdp(fwd, map, xdp, index);
2499 if (likely(!err))
2500 ri->map_to_flush = map;
2501
2502 out:
2503 trace_xdp_redirect(dev, fwd, xdp_prog, XDP_REDIRECT);
2504 return err;
2505 }
2506
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (9351 bytes)
Powered by blists - more mailing lists