Page MenuHomeFreeBSD

random(4): Translate a comment requirement into a compile-time invariant
ClosedPublic

Authored by cem on Sep 1 2018, 4:39 AM.
Tags
None
Referenced Files
F150849234: D16982.id49355.diff
Sat, Apr 4, 11:39 AM
Unknown Object (File)
Sat, Mar 28, 5:42 AM
Unknown Object (File)
Wed, Mar 25, 9:16 PM
Unknown Object (File)
Mon, Mar 23, 9:56 PM
Unknown Object (File)
Tue, Mar 17, 1:48 AM
Unknown Object (File)
Mar 2 2026, 12:47 PM
Unknown Object (File)
Mar 2 2026, 12:05 AM
Unknown Object (File)
Feb 1 2026, 10:04 AM
Subscribers

Details

Summary

In various places, random represents the set of sources as a 32-bit word
bitmask. It assumes all sources fit within this, i.e., the maximum valid
source number is 31.

There was a comment specifying this limitation, but we can actually refuse
to compile if our assumption is violated instead. We still have a few spare
random source slots, but sooner or later someone may need to convert the
masks used from raw 32-bit words to bitset(9) APIs.

This prevents some kinds of developer foot-shooting when adding new random
sources. No functional change.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable