diff options
author | Eric Dumazet <edumazet@google.com> | 2013-04-29 01:58:52 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-29 15:14:02 -0400 |
commit | aebda156a570782a86fc4426842152237a19427d (patch) | |
tree | 013aecdd1e2223ff91faa08b604d4e4b91283252 /net/core | |
parent | 2d177be8e4a1f6ea7e3280b3a578a6b86472a39d (diff) |
net: defer net_secret[] initialization
Instead of feeding net_secret[] at boot time, defer the init
at the point first socket is created.
This permits some platforms to use better entropy sources than
the ones available at boot time.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/secure_seq.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/core/secure_seq.c b/net/core/secure_seq.c index e61a8bb7fce7..6a2f13cee86a 100644 --- a/net/core/secure_seq.c +++ b/net/core/secure_seq.c | |||
@@ -12,12 +12,10 @@ | |||
12 | 12 | ||
13 | static u32 net_secret[MD5_MESSAGE_BYTES / 4] ____cacheline_aligned; | 13 | static u32 net_secret[MD5_MESSAGE_BYTES / 4] ____cacheline_aligned; |
14 | 14 | ||
15 | static int __init net_secret_init(void) | 15 | void net_secret_init(void) |
16 | { | 16 | { |
17 | get_random_bytes(net_secret, sizeof(net_secret)); | 17 | get_random_bytes(net_secret, sizeof(net_secret)); |
18 | return 0; | ||
19 | } | 18 | } |
20 | late_initcall(net_secret_init); | ||
21 | 19 | ||
22 | #ifdef CONFIG_INET | 20 | #ifdef CONFIG_INET |
23 | static u32 seq_scale(u32 seq) | 21 | static u32 seq_scale(u32 seq) |