net/neighbor: use get_random_u32 for 32-bit hash random
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 8 Jun 2017 03:00:05 +0000 (23:00 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 20 Jun 2017 02:06:28 +0000 (22:06 -0400)
Using get_random_u32 here is faster, more fitting of the use case, and
just as cryptographically secure. It also has the benefit of providing
better randomness at early boot, which is when many of these structures
are assigned.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
net/core/neighbour.c

index d274f81fcc2c08f1e85df4ed00b9a034f3ae0739..9784133b0cdb0574c3e4f0fc19776aa896caf52b 100644 (file)
@@ -312,8 +312,7 @@ out_entries:
 
 static void neigh_get_hash_rnd(u32 *x)
 {
-       get_random_bytes(x, sizeof(*x));
-       *x |= 1;
+       *x = get_random_u32() | 1;
 }
 
 static struct neigh_hash_table *neigh_hash_alloc(unsigned int shift)