ipv6: fix useless rol32 call on hash
authorColin Ian King <colin.king@canonical.com>
Tue, 17 Jul 2018 16:12:39 +0000 (17:12 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jul 2018 22:11:09 +0000 (15:11 -0700)
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>
include/net/ipv6.h

index 7528632bcf2a28d25625f8a01a8754f516d6a0f4..8f73be4945037c6d0997ec8ab7c3e9da3980a6e4 100644 (file)
@@ -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;