diff options
author | ache <ache@FreeBSD.org> | 2016-06-05 13:39:31 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2016-06-05 13:39:31 +0000 |
commit | 4ab0fcf85bd26f3eaf7a2f8693ed80e89d2be762 (patch) | |
tree | 1c086a2d853fa0b3b32baf88a346b4bfb2753c32 /sys/kern/kern_fork.c | |
parent | 1d29d3ea453434cd2affdd1f6e7dc7fa17ffb85c (diff) | |
download | FreeBSD-src-4ab0fcf85bd26f3eaf7a2f8693ed80e89d2be762.zip FreeBSD-src-4ab0fcf85bd26f3eaf7a2f8693ed80e89d2be762.tar.gz |
MFC: r300953
1) Unifdef USE_WEAK_SEEDING it is too obsolete to support and makes reading
harder.
2) ACM paper require seed to be in [1, 2^31-2] range, so use the same range
shifting as already done for rand(3). Also protect srandomdev() + TYPE_0 case
(non default) from negative seeds.
3) Don't check for valid "type" range in setstate(), it is always valid as
calculated. Instead add a check that rear pointer not exceeed end pointer.
MFC: r300965
Micro optimize: C standard guarantees that right shift for unsigned value
fills left bits with zero, and we have exact 32bit unsigned value
(uint32_t), so there is no reason to add "& 0x7fffffff" here.
Diffstat (limited to 'sys/kern/kern_fork.c')
0 files changed, 0 insertions, 0 deletions