Hi "Toke,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf/master]
url:
https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Rewor...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
config: x86_64-randconfig-a016-20201019 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
094e9f4779eb9b5c6a49014f2f80b8cbb833572f)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
#
https://github.com/0day-ci/linux/commit/250f45235b06a53ae71587457c94d9c3a...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Toke-H-iland-J-rgensen/bpf-Rework-bpf_redirect_neigh-to-allow-supplying-nexthop-from-caller/20201020-000711
git checkout 250f45235b06a53ae71587457c94d9c3a3a99f9a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
> net/core/filter.c:2268:27: error: redefinition of parameter
'dev'
struct net_device *dev, struct
bpf_nh_params *nh)
^
net/core/filter.c:2267:76: note: previous declaration is here
static int __bpf_redirect_neigh_v6(struct sk_buff *skb, struct net_device *dev,
^
> net/core/filter.c:2268:27: warning: omitting the parameter name
in a function definition is a C2x extension [-Wc2x-extensions]
struct net_device *dev, struct bpf_nh_params *nh)
^
1 warning and 1 error generated.
vim +/dev +2268 net/core/filter.c
2225
2226 static int __bpf_redirect_neigh_v6(struct sk_buff *skb, struct net_device *dev,
2227 struct bpf_nh_params *nh)
2228 {
2229 const struct ipv6hdr *ip6h = ipv6_hdr(skb);
2230 struct net *net = dev_net(dev);
2231 int err, ret = NET_XMIT_DROP;
2232
2233 if (!nh) {
2234 struct dst_entry *dst;
2235 struct flowi6 fl6 = {
2236 .flowi6_flags = FLOWI_FLAG_ANYSRC,
2237 .flowi6_mark = skb->mark,
2238 .flowlabel = ip6_flowinfo(ip6h),
2239 .flowi6_oif = dev->ifindex,
2240 .flowi6_proto = ip6h->nexthdr,
2241 .daddr = ip6h->daddr,
2242 .saddr = ip6h->saddr,
2243 };
2244
2245 dst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &fl6, NULL);
2246 if (IS_ERR(dst))
2247 goto out_drop;
2248
2249 skb_dst_set(skb, dst);
2250 } else if (nh->nh_family != AF_INET6) {
2251 goto out_drop;
2252 }
2253
2254 err = bpf_out_neigh_v6(net, skb, dev, nh);
2255 if (unlikely(net_xmit_eval(err)))
2256 dev->stats.tx_errors++;
2257 else
2258 ret = NET_XMIT_SUCCESS;
2259 goto out_xmit;
2260 out_drop:
2261 dev->stats.tx_errors++;
2262 kfree_skb(skb);
2263 out_xmit:
2264 return ret;
2265 }
2266 #else
2267 static int __bpf_redirect_neigh_v6(struct sk_buff *skb, struct net_device *dev,
2268 struct net_device *dev, struct bpf_nh_params *nh)
2269 {
2270 kfree_skb(skb);
2271 return NET_XMIT_DROP;
2272 }
2273 #endif /* CONFIG_IPV6 */
2274
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org