lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201710300233.CId6BGMS%fengguang.wu@intel.com>
Date:   Mon, 30 Oct 2017 02:22:42 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Michael Chan <michael.chan@...adcom.com>
Cc:     kbuild-all@...org, davem@...emloft.net, netdev@...r.kernel.org,
        Sathya Perla <sathya.perla@...adcom.com>
Subject: Re: [PATCH net-next 11/14] bnxt_en: add support for Flower based
 vxlan encap/decap offload

Hi Sathya,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Michael-Chan/bnxt_en-Updates-for-net-next/20171029-105709
config: x86_64-randconfig-it0-10300113 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c: In function 'bnxt_tc_resolve_tunnel_hdrs':
   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:882:10: error: implicit declaration of function 'vlan_dev_priv' [-Werror=implicit-function-declaration]
      struct vlan_dev_priv *vlan = vlan_dev_priv(dst_dev);
             ^
   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:882:32: warning: initialization makes pointer from integer without a cast
      struct vlan_dev_priv *vlan = vlan_dev_priv(dst_dev);
                                   ^
   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:884:11: error: dereferencing pointer to incomplete type
      if (vlan->real_dev != real_dst_dev) {
              ^
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/little_endian.h:12,
                    from include/linux/byteorder/little_endian.h:4,
                    from arch/x86/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/x86/include/asm/bitops.h:517,
                    from include/linux/bitops.h:37,
                    from include/linux/kernel.h:10,
                    from include/linux/list.h:8,
                    from include/linux/timer.h:4,
                    from include/linux/netdevice.h:28,
                    from drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:10:
   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:892:39: error: dereferencing pointer to incomplete type
      l2_info->inner_vlan_tci = htons(vlan->vlan_id);
                                          ^
   include/uapi/linux/swab.h:100:54: note: in definition of macro '__swab16'
    #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
                                                         ^
   include/linux/byteorder/generic.h:134:21: note: in expansion of macro '__cpu_to_be16'
    #define ___htons(x) __cpu_to_be16(x)
                        ^
   include/linux/byteorder/generic.h:140:18: note: in expansion of macro '___htons'
    #define htons(x) ___htons(x)
                     ^
>> drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:892:29: note: in expansion of macro 'htons'
      l2_info->inner_vlan_tci = htons(vlan->vlan_id);
                                ^
   drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c:893:34: error: dereferencing pointer to incomplete type
      l2_info->inner_vlan_tpid = vlan->vlan_proto;
                                     ^
   cc1: some warnings being treated as errors

vim +/htons +892 drivers/net//ethernet/broadcom/bnxt/bnxt_tc.c

   855	
   856	static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
   857					       struct ip_tunnel_key *tun_key,
   858					       struct bnxt_tc_l2_key *l2_info,
   859					       struct net_device *real_dst_dev)
   860	{
   861		struct flowi4 flow = { {0} };
   862		struct net_device *dst_dev;
   863		struct neighbour *nbr;
   864		struct rtable *rt;
   865		int rc;
   866	
   867		flow.flowi4_proto = IPPROTO_UDP;
   868		flow.fl4_dport = tun_key->tp_dst;
   869		flow.daddr = tun_key->u.ipv4.dst;
   870	
   871		rt = ip_route_output_key(dev_net(real_dst_dev), &flow);
   872		if (IS_ERR(rt)) {
   873			netdev_info(bp->dev, "no route to %pI4b", &flow.daddr);
   874			return -EOPNOTSUPP;
   875		}
   876	
   877		/* The route must either point to the real_dst_dev or a dst_dev that
   878		 * uses the real_dst_dev.
   879		 */
   880		dst_dev = rt->dst.dev;
   881		if (is_vlan_dev(dst_dev)) {
   882			struct vlan_dev_priv *vlan = vlan_dev_priv(dst_dev);
   883	
   884			if (vlan->real_dev != real_dst_dev) {
   885				netdev_info(bp->dev,
   886					    "dst_dev(%s) doesn't use PF-if(%s)",
   887					    netdev_name(dst_dev),
   888					    netdev_name(real_dst_dev));
   889				rc = -EOPNOTSUPP;
   890				goto put_rt;
   891			}
 > 892			l2_info->inner_vlan_tci = htons(vlan->vlan_id);
   893			l2_info->inner_vlan_tpid = vlan->vlan_proto;
   894			l2_info->num_vlans = 1;
   895		} else if (dst_dev != real_dst_dev) {
   896			netdev_info(bp->dev,
   897				    "dst_dev(%s) for %pI4b is not PF-if(%s)",
   898				    netdev_name(dst_dev), &flow.daddr,
   899				    netdev_name(real_dst_dev));
   900			rc = -EOPNOTSUPP;
   901			goto put_rt;
   902		}
   903	
   904		nbr = dst_neigh_lookup(&rt->dst, &flow.daddr);
   905		if (!nbr) {
   906			netdev_info(bp->dev, "can't lookup neighbor for %pI4b",
   907				    &flow.daddr);
   908			rc = -EOPNOTSUPP;
   909			goto put_rt;
   910		}
   911	
   912		tun_key->u.ipv4.src = flow.saddr;
   913		tun_key->ttl = ip4_dst_hoplimit(&rt->dst);
   914		neigh_ha_snapshot(l2_info->dmac, nbr, dst_dev);
   915		ether_addr_copy(l2_info->smac, dst_dev->dev_addr);
   916		neigh_release(nbr);
   917		ip_rt_put(rt);
   918	
   919		return 0;
   920	put_rt:
   921		ip_rt_put(rt);
   922		return rc;
   923	}
   924	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (34115 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ