random32: add prandom_init_once helper for own rngs
authorDaniel Borkmann <daniel@iogearbox.net>
Wed, 7 Oct 2015 23:20:38 +0000 (01:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Oct 2015 12:26:38 +0000 (05:26 -0700)
commit897ece56e714a2cc64e6914cb89a362d7021b36e
treec965cddb6a87f0bc6d96cceaa36efe42af8158da
parent0dd50d1b0c003ab4f17597fe1198bb57a2fadc06
random32: add prandom_init_once helper for own rngs

Add a prandom_init_once() facility that works on the rnd_state, so that
users that are keeping their own state independent from prandom_u32() can
initialize their taus113 per cpu states.

The motivation here is similar to net_get_random_once(): initialize the
state as late as possible in the hope that enough entropy has been
collected for the seeding. prandom_init_once() makes use of the recently
introduced prandom_seed_full_state() helper and is generic enough so that
it could also be used on fast-paths due to the DO_ONCE().

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/random.h
lib/random32.c