diff options
Diffstat (limited to 'net/ipv4/af_inet.c')
-rw-r--r-- | net/ipv4/af_inet.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 4049906010f7..9433a6186f54 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -245,29 +245,6 @@ out: | |||
245 | } | 245 | } |
246 | EXPORT_SYMBOL(inet_listen); | 246 | EXPORT_SYMBOL(inet_listen); |
247 | 247 | ||
248 | u32 inet_ehash_secret __read_mostly; | ||
249 | EXPORT_SYMBOL(inet_ehash_secret); | ||
250 | |||
251 | u32 ipv6_hash_secret __read_mostly; | ||
252 | EXPORT_SYMBOL(ipv6_hash_secret); | ||
253 | |||
254 | /* | ||
255 | * inet_ehash_secret must be set exactly once, and to a non nul value | ||
256 | * ipv6_hash_secret must be set exactly once. | ||
257 | */ | ||
258 | void build_ehash_secret(void) | ||
259 | { | ||
260 | u32 rnd; | ||
261 | |||
262 | do { | ||
263 | get_random_bytes(&rnd, sizeof(rnd)); | ||
264 | } while (rnd == 0); | ||
265 | |||
266 | if (cmpxchg(&inet_ehash_secret, 0, rnd) == 0) | ||
267 | get_random_bytes(&ipv6_hash_secret, sizeof(ipv6_hash_secret)); | ||
268 | } | ||
269 | EXPORT_SYMBOL(build_ehash_secret); | ||
270 | |||
271 | /* | 248 | /* |
272 | * Create an inet socket. | 249 | * Create an inet socket. |
273 | */ | 250 | */ |
@@ -284,10 +261,6 @@ static int inet_create(struct net *net, struct socket *sock, int protocol, | |||
284 | int try_loading_module = 0; | 261 | int try_loading_module = 0; |
285 | int err; | 262 | int err; |
286 | 263 | ||
287 | if (unlikely(!inet_ehash_secret)) | ||
288 | if (sock->type != SOCK_RAW && sock->type != SOCK_DGRAM) | ||
289 | build_ehash_secret(); | ||
290 | |||
291 | sock->state = SS_UNCONNECTED; | 264 | sock->state = SS_UNCONNECTED; |
292 | 265 | ||
293 | /* Look for the requested type/protocol pair. */ | 266 | /* Look for the requested type/protocol pair. */ |