From: Maciej Żenczykowski <m...@google.com> Signed-off-by: Maciej Żenczykowski <m...@google.com> --- net/ipv6/route.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index d28f83e01593..9cb024451fc5 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1981,12 +1981,11 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb, u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6, const struct sk_buff *skb, struct flow_keys *flkeys) { - struct flow_keys hash_keys; + struct flow_keys hash_keys = {}; u32 mhash; switch (ip6_multipath_hash_policy(net)) { case 0: - memset(&hash_keys, 0, sizeof(hash_keys)); hash_keys.control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS; if (skb) { ip6_multipath_l3_keys(skb, &hash_keys, flkeys); @@ -2006,8 +2005,6 @@ u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6, if (skb->l4_hash) return skb_get_hash_raw(skb) >> 1; - memset(&hash_keys, 0, sizeof(hash_keys)); - if (!flkeys) { skb_flow_dissect_flow_keys(skb, &keys, flag); flkeys = &keys; @@ -2019,7 +2016,6 @@ u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6, hash_keys.ports.dst = flkeys->ports.dst; hash_keys.basic.ip_proto = flkeys->basic.ip_proto; } else { - memset(&hash_keys, 0, sizeof(hash_keys)); hash_keys.control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS; hash_keys.addrs.v6addrs.src = fl6->saddr; hash_keys.addrs.v6addrs.dst = fl6->daddr; -- 2.19.0.605.g01d371f741-goog