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
.config.gz
Description: application/gzip