Hi Hangbin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net/master]

url:    
https://github.com/0day-ci/linux/commits/Hangbin-Liu/fix-two-kernel-panics-when-disabled-IPv6-on-boot-up/20190207-071954
config: m68k-sun3_defconfig (attached as .config)
compiler: m68k-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.2.0 make.cross ARCH=m68k 

All warnings (new ones prefixed by >>):

   drivers/net/geneve.c: In function 'geneve_link_config':
>> drivers/net/geneve.c:1519:3: warning: ISO C90 forbids mixed declarations and 
>> code [-Wdeclaration-after-statement]
      struct rt6_info *rt = rt6_lookup(geneve->net,
      ^~~~~~

vim +1519 drivers/net/geneve.c

abe492b4f5 Tom Herbert    2015-12-10  1490  
c40e89fd35 Alexey Kodanev 2018-04-19  1491  static void 
geneve_link_config(struct net_device *dev,
c40e89fd35 Alexey Kodanev 2018-04-19  1492                             struct 
ip_tunnel_info *info, struct nlattr *tb[])
c40e89fd35 Alexey Kodanev 2018-04-19  1493  {
c40e89fd35 Alexey Kodanev 2018-04-19  1494      struct geneve_dev *geneve = 
netdev_priv(dev);
c40e89fd35 Alexey Kodanev 2018-04-19  1495      int ldev_mtu = 0;
c40e89fd35 Alexey Kodanev 2018-04-19  1496  
c40e89fd35 Alexey Kodanev 2018-04-19  1497      if (tb[IFLA_MTU]) {
c40e89fd35 Alexey Kodanev 2018-04-19  1498              geneve_change_mtu(dev, 
nla_get_u32(tb[IFLA_MTU]));
c40e89fd35 Alexey Kodanev 2018-04-19  1499              return;
c40e89fd35 Alexey Kodanev 2018-04-19  1500      }
c40e89fd35 Alexey Kodanev 2018-04-19  1501  
c40e89fd35 Alexey Kodanev 2018-04-19  1502      switch 
(ip_tunnel_info_af(info)) {
c40e89fd35 Alexey Kodanev 2018-04-19  1503      case AF_INET: {
c40e89fd35 Alexey Kodanev 2018-04-19  1504              struct flowi4 fl4 = { 
.daddr = info->key.u.ipv4.dst };
c40e89fd35 Alexey Kodanev 2018-04-19  1505              struct rtable *rt = 
ip_route_output_key(geneve->net, &fl4);
c40e89fd35 Alexey Kodanev 2018-04-19  1506  
c40e89fd35 Alexey Kodanev 2018-04-19  1507              if (!IS_ERR(rt) && 
rt->dst.dev) {
c40e89fd35 Alexey Kodanev 2018-04-19  1508                      ldev_mtu = 
rt->dst.dev->mtu - GENEVE_IPV4_HLEN;
c40e89fd35 Alexey Kodanev 2018-04-19  1509                      ip_rt_put(rt);
c40e89fd35 Alexey Kodanev 2018-04-19  1510              }
c40e89fd35 Alexey Kodanev 2018-04-19  1511              break;
c40e89fd35 Alexey Kodanev 2018-04-19  1512      }
c40e89fd35 Alexey Kodanev 2018-04-19  1513  #if IS_ENABLED(CONFIG_IPV6)
c40e89fd35 Alexey Kodanev 2018-04-19  1514      case AF_INET6: {
55e942d018 Hangbin Liu    2019-02-06  1515              struct inet6_dev *idev 
= in6_dev_get(dev);
55e942d018 Hangbin Liu    2019-02-06  1516              if (!idev)
55e942d018 Hangbin Liu    2019-02-06  1517                      break;
55e942d018 Hangbin Liu    2019-02-06  1518  
c40e89fd35 Alexey Kodanev 2018-04-19 @1519              struct rt6_info *rt = 
rt6_lookup(geneve->net,
c40e89fd35 Alexey Kodanev 2018-04-19  1520                                      
         &info->key.u.ipv6.dst, NULL, 0,
c40e89fd35 Alexey Kodanev 2018-04-19  1521                                      
         NULL, 0);
c40e89fd35 Alexey Kodanev 2018-04-19  1522  
c40e89fd35 Alexey Kodanev 2018-04-19  1523              if (rt && rt->dst.dev)
c40e89fd35 Alexey Kodanev 2018-04-19  1524                      ldev_mtu = 
rt->dst.dev->mtu - GENEVE_IPV6_HLEN;
c40e89fd35 Alexey Kodanev 2018-04-19  1525              ip6_rt_put(rt);
55e942d018 Hangbin Liu    2019-02-06  1526  
55e942d018 Hangbin Liu    2019-02-06  1527              in6_dev_put(idev);
c40e89fd35 Alexey Kodanev 2018-04-19  1528              break;
c40e89fd35 Alexey Kodanev 2018-04-19  1529      }
c40e89fd35 Alexey Kodanev 2018-04-19  1530  #endif
c40e89fd35 Alexey Kodanev 2018-04-19  1531      }
c40e89fd35 Alexey Kodanev 2018-04-19  1532  
c40e89fd35 Alexey Kodanev 2018-04-19  1533      if (ldev_mtu <= 0)
c40e89fd35 Alexey Kodanev 2018-04-19  1534              return;
c40e89fd35 Alexey Kodanev 2018-04-19  1535  
c40e89fd35 Alexey Kodanev 2018-04-19  1536      geneve_change_mtu(dev, ldev_mtu 
- info->options_len);
c40e89fd35 Alexey Kodanev 2018-04-19  1537  }
c40e89fd35 Alexey Kodanev 2018-04-19  1538  

:::::: The code at line 1519 was first introduced by commit
:::::: c40e89fd358e94a55d6c1475afbea17b5580f601 geneve: configure MTU based on 
a lower device

:::::: TO: Alexey Kodanev <alexey.koda...@oracle.com>
:::::: CC: David S. Miller <da...@davemloft.net>

---
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