OSDN Git Service

vxlan_core: fix build warnings in vxlan_xmit_one
authorRoopa Prabhu <roopa@nvidia.com>
Tue, 1 Mar 2022 05:04:29 +0000 (05:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Mar 2022 08:38:01 +0000 (08:38 +0000)
Fix the below build warnings reported by kernel test robot:
   - initialize vni in vxlan_xmit_one
   - wrap label in ipv6 enabled checks in vxlan_xmit_one

warnings:
static
   drivers/net/vxlan/vxlan_core.c:2437:14: warning: variable 'label' set
but not used [-Wunused-but-set-variable]
           __be32 vni, label;
                       ^

>> drivers/net/vxlan/vxlan_core.c:2483:7: warning: variable 'vni' is
used uninitialized whenever 'if' condition is true
[-Wsometimes-uninitialized]

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Roopa Prabhu <roopa@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan/vxlan_core.c

index d0dc90d..a852582 100644 (file)
@@ -2603,13 +2603,16 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
        struct vxlan_metadata *md = &_md;
        __be16 src_port = 0, dst_port;
        struct dst_entry *ndst = NULL;
-       __be32 vni, label;
        __u8 tos, ttl;
        int ifindex;
        int err;
        u32 flags = vxlan->cfg.flags;
        bool udp_sum = false;
        bool xnet = !net_eq(vxlan->net, dev_net(vxlan->dev));
+       __be32 vni = 0;
+#if IS_ENABLED(CONFIG_IPV6)
+       __be32 label;
+#endif
 
        info = skb_tunnel_info(skb);
 
@@ -2647,7 +2650,9 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
                        udp_sum = !(flags & VXLAN_F_UDP_ZERO_CSUM_TX);
                else
                        udp_sum = !(flags & VXLAN_F_UDP_ZERO_CSUM6_TX);
+#if IS_ENABLED(CONFIG_IPV6)
                label = vxlan->cfg.label;
+#endif
        } else {
                if (!info) {
                        WARN_ONCE(1, "%s: Missing encapsulation instructions\n",
@@ -2674,7 +2679,9 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
                }
                ttl = info->key.ttl;
                tos = info->key.tos;
+#if IS_ENABLED(CONFIG_IPV6)
                label = info->key.label;
+#endif
                udp_sum = !!(info->key.tun_flags & TUNNEL_CSUM);
        }
        src_port = udp_flow_src_port(dev_net(dev), skb, vxlan->cfg.port_min,