secure_seq: fix sparse errors
authorEric Dumazet <edumazet@google.com>
Thu, 12 Jan 2017 02:10:37 +0000 (18:10 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Jan 2017 20:57:10 +0000 (15:57 -0500)
Fixes following warnings :

net/core/secure_seq.c:125:28: warning: incorrect type in argument 1
(different base types)
net/core/secure_seq.c:125:28:    expected unsigned int const [unsigned]
[usertype] a
net/core/secure_seq.c:125:28:    got restricted __be32 [usertype] saddr
net/core/secure_seq.c:125:35: warning: incorrect type in argument 2
(different base types)
net/core/secure_seq.c:125:35:    expected unsigned int const [unsigned]
[usertype] b
net/core/secure_seq.c:125:35:    got restricted __be32 [usertype] daddr
net/core/secure_seq.c:125:43: warning: cast from restricted __be16
net/core/secure_seq.c:125:61: warning: restricted __be16 degrades to
integer

Fixes: 7cd23e5300c1 ("secure_seq: use SipHash in place of MD5")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/secure_seq.c

index 3a9fcec94ace21238c0d6cd6d9997678e0623ab9..758f140b6bedc51669fed973b39ee317c2bf1570 100644 (file)
@@ -122,7 +122,9 @@ u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr,
 {
        u64 seq;
        net_secret_init();
-       seq = siphash_3u32(saddr, daddr, (u32)sport << 16 | dport, &net_secret);
+       seq = siphash_3u32((__force u32)saddr, (__force u32)daddr,
+                          (__force u32)sport << 16 | (__force u32)dport,
+                          &net_secret);
        seq += ktime_get_real_ns();
        seq &= (1ull << 48) - 1;
        return seq;