https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222807

--- Comment #5 from W. Dean Freeman <badfilema...@gmail.com> ---
(In reply to Conrad Meyer from comment #3)

The core of the problem with the pure sources was, in random_harvest_queue and
random_harvest_direct, the value hc_source_mask is checked to see whether the
source bit is set. If it isn't, the functions bail out before they actually
either add an entry to the harvest ring buffer (in the case of
random_harvest_queue) or feed into ra_process_event (ie,
random_fortuna_process_event).

Thus, entropy is being harvested, by virtue of the fact that sources push,
rather than having /dev/random pull from them. However, the results of the push
were not being mixed in.

Additionally, there was no way via sysctl or any other means to set the bit for
the source.

We have added code which will ensure the bit gets set on register for sources
which do register as entropy sources (which is really just RDRND and VIA
Padlock), however many pure sources, such as RANDOM_PURE_BROADCOM, which is the
source for the trng in Raspberry Pi devices, don't register. They use
random_harvest_queue.

The point of the patch is to correct that. Additionally, it allows showing the
value in sysctl. For sources other than RDRND and VIA, there isn't an
additional way beyond the mask to see whether the source is actually turned on
or not, since they don't register.  The patch corrects the behavior and allows
the operator to ensure that it is set.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to