diff options
author | cperciva <cperciva@FreeBSD.org> | 2008-11-24 17:39:39 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2008-11-24 17:39:39 +0000 |
commit | 657dc776d3343ac0e4a606855a5acbeefd0934d0 (patch) | |
tree | 1b3d5ad6747035a3af07a8c99d741712c3c52d07 /sys/dev/random/randomdev.c | |
parent | a5ea7c590321ce817998039183a841e2fa049eb7 (diff) | |
download | FreeBSD-src-657dc776d3343ac0e4a606855a5acbeefd0934d0.zip FreeBSD-src-657dc776d3343ac0e4a606855a5acbeefd0934d0.tar.gz |
Make sure arc4random(9) is properly seeded when /etc/rc.d/initrandom returns.
Approved by: so (cperciva)
Approved by: re (kensmith)
Security: FreeBSD-SA-08:11.arc4random
Diffstat (limited to 'sys/dev/random/randomdev.c')
-rw-r--r-- | sys/dev/random/randomdev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/random/randomdev.c b/sys/dev/random/randomdev.c index 7cc78e6..99c4ea6 100644 --- a/sys/dev/random/randomdev.c +++ b/sys/dev/random/randomdev.c @@ -90,6 +90,7 @@ random_close(struct cdev *dev __unused, int flags, int fmt __unused, && (securelevel_gt(td->td_ucred, 0) == 0)) { (*random_systat.reseed)(); random_systat.seeded = 1; + arc4rand(NULL, 0, 1); /* Reseed arc4random as well. */ } return (0); |