From: Colin Ian King <colin.king@canonical.com>
Date: Tue, 17 Jul 2018 16:12:39 +0000 (+0100)
Subject: ipv6: fix useless rol32 call on hash
X-Git-Tag: v4.18-rc6~28^2~6
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=169dc027fb02492ea37a0575db6a658cf922b854;p=users%2Fdwmw2%2Flinux.git

ipv6: fix useless rol32 call on hash

The rol32 call is currently rotating hash but the rol'd value is
being discarded. I believe the current code is incorrect and hash
should be assigned the rotated value returned from rol32.

Thanks to David Lebrun for spotting this.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 7528632bcf2a2..8f73be4945037 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -823,7 +823,7 @@ static inline __be32 ip6_make_flowlabel(struct net *net, struct sk_buff *skb,
 	 * to minimize possbility that any useful information to an
 	 * attacker is leaked. Only lower 20 bits are relevant.
 	 */
-	rol32(hash, 16);
+	hash = rol32(hash, 16);
 
 	flowlabel = (__force __be32)hash & IPV6_FLOWLABEL_MASK;