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

Attachment: .config.gz
Description: application/gzip

Reply via email to