|
@@ -7,6 +7,7 @@
|
|
|
#include <linux/hrtimer.h>
|
|
|
#include <linux/ktime.h>
|
|
|
#include <linux/string.h>
|
|
|
+#include <linux/net.h>
|
|
|
|
|
|
#include <net/secure_seq.h>
|
|
|
|
|
@@ -16,18 +17,7 @@ static u32 net_secret[NET_SECRET_SIZE] ____cacheline_aligned;
|
|
|
|
|
|
static void net_secret_init(void)
|
|
|
{
|
|
|
- u32 tmp;
|
|
|
- int i;
|
|
|
-
|
|
|
- if (likely(net_secret[0]))
|
|
|
- return;
|
|
|
-
|
|
|
- for (i = NET_SECRET_SIZE; i > 0;) {
|
|
|
- do {
|
|
|
- get_random_bytes(&tmp, sizeof(tmp));
|
|
|
- } while (!tmp);
|
|
|
- cmpxchg(&net_secret[--i], 0, tmp);
|
|
|
- }
|
|
|
+ net_get_random_once(net_secret, sizeof(net_secret));
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_INET
|