diff options
author | Hannes Frederic Sowa <hannes@stressinduktion.org> | 2013-10-23 11:06:55 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-23 23:01:40 +0200 |
commit | e7b519ba55aeb675daee1d304e80d752c385f7f0 (patch) | |
tree | f9152523b9420b14557f22675b0e9ffab5d7b0b9 /net/ipv6 | |
parent | Merge branch 'pci_set_drvdata' (diff) | |
download | linux-e7b519ba55aeb675daee1d304e80d752c385f7f0.tar.xz linux-e7b519ba55aeb675daee1d304e80d752c385f7f0.zip |
ipv4: initialize ip4_frags hash secret as late as possible
Defer the generation of the first hash secret for the ipv4 fragmentation
cache as late as possible.
ip4_frags.rnd gets initial seeded by inet_frags_init and regulary
reseeded by inet_frag_secret_rebuild. Either we call ipqhashfn directly
from ip_fragment.c in which case we initialize the secret directly.
If we first get called by inet_frag_secret_rebuild we install a new secret
by a manual call to get_random_bytes. This secret will be overwritten
as soon as the first call to ipqhashfn happens. This is safe because we
won't race while publishing the new secrets with anyone else.
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions