diff options
author | markm <markm@FreeBSD.org> | 2013-10-04 06:55:06 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2013-10-04 06:55:06 +0000 |
commit | b28953010e0b4d9208d7f9dcc8933e6d56f16ce3 (patch) | |
tree | c4e072a0e767bef2275921e88362a12f29adf3c2 /sys/dev/glxsb | |
parent | 4655fd3ead80b03639e139ad19759e0307eb10df (diff) | |
download | FreeBSD-src-b28953010e0b4d9208d7f9dcc8933e6d56f16ce3.zip FreeBSD-src-b28953010e0b4d9208d7f9dcc8933e6d56f16ce3.tar.gz |
Snapshot. This passes the build test, but has not yet been finished or debugged.
Contains:
* Refactor the hardware RNG CPU instruction sources to feed into
the software mixer. This is unfinished. The actual harvesting needs
to be sorted out. Modified by me (see below).
* Remove 'frac' parameter from random_harvest(). This was never
used and adds extra code for no good reason.
* Remove device write entropy harvesting. This provided a weak
attack vector, was not very good at bootstrapping the device. To
follow will be a replacement explicit reseed knob.
* Separate out all the RANDOM_PURE sources into separate harvest
entities. This adds some secuity in the case where more than one
is present.
* Review all the code and fix anything obviously messy or inconsistent.
Address som review concerns while I'm here, like rename the pseudo-rng
to 'dummy'.
Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)
Diffstat (limited to 'sys/dev/glxsb')
-rw-r--r-- | sys/dev/glxsb/glxsb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/glxsb/glxsb.c b/sys/dev/glxsb/glxsb.c index 5204153..646fe3f 100644 --- a/sys/dev/glxsb/glxsb.c +++ b/sys/dev/glxsb/glxsb.c @@ -476,7 +476,7 @@ glxsb_rnd(void *v) if (status & SB_RNS_TRNG_VALID) { value = bus_read_4(sc->sc_sr, SB_RANDOM_NUM); /* feed with one uint32 */ - random_harvest(&value, 4, 32/2, 0, RANDOM_PURE); + random_harvest(&value, 4, 32/2, RANDOM_PURE_GLXSB); } callout_reset(&sc->sc_rngco, sc->sc_rnghz, glxsb_rnd, sc); |