tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: b6cd4b5895848968e8fee93fc5e3dc8babc40b9e commit: 6e617de84e87d626d1e976fc30e1322239fd4d2d [42/46] net: avoid a full fib lookup when rp_filter is disabled. config: x86_64-kexec (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 6e617de84e87d626d1e976fc30e1322239fd4d2d # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>): net/ipv4/fib_frontend.c: In function 'fib_validate_source': >> net/ipv4/fib_frontend.c:411:16: error: 'struct netns_ipv4' has no member >> named 'fib_has_custom_local_routes' if (net->ipv4.fib_has_custom_local_routes) ^ net/ipv4/fib_frontend.c: In function 'inet_rtm_newroute': net/ipv4/fib_frontend.c:773:12: error: 'struct netns_ipv4' has no member named 'fib_has_custom_local_routes' net->ipv4.fib_has_custom_local_routes = true; ^ vim +411 net/ipv4/fib_frontend.c 395 396 /* Ignore rp_filter for packets protected by IPsec. */ 397 int fib_validate_source(struct sk_buff *skb, __be32 src, __be32 dst, 398 u8 tos, int oif, struct net_device *dev, 399 struct in_device *idev, u32 *itag) 400 { 401 int r = secpath_exists(skb) ? 0 : IN_DEV_RPFILTER(idev); 402 struct net *net = dev_net(dev); 403 404 if (!r && !fib_num_tclassid_users(net) && 405 (dev->ifindex != oif || !IN_DEV_TX_REDIRECTS(idev))) { 406 if (IN_DEV_ACCEPT_LOCAL(idev)) 407 goto ok; 408 /* if no local routes are added from user space we can check 409 * for local addresses looking-up the ifaddr table 410 */ > 411 if (net->ipv4.fib_has_custom_local_routes) 412 goto full_check; 413 if (inet_lookup_ifaddr_rcu(net, src)) 414 return -EINVAL; 415 416 ok: 417 *itag = 0; 418 return 0; 419 } 420 421 full_check: 422 return __fib_validate_source(skb, src, dst, tos, oif, dev, r, idev, itag); 423 } 424 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip