mbox series

[0/4] hw_random: introduce rng_quality sysfs attribute

Message ID 20220213204631.354247-1-linux@dominikbrodowski.net
Headers show
Series hw_random: introduce rng_quality sysfs attribute | expand

Message

Dominik Brodowski Feb. 13, 2022, 8:46 p.m. UTC
Currently, the hw_random core exposes a module parameter "current_quality".
However, that is fundamentally broken: If it is set at boot time, it is
overwritten once the first hw rng device is loaded. If it is set at
runtime, it is without effect if the hw rng device had its quality value
set to 0 (and no default_quality was set). If a new rng is selected, it
gets overwritten.

Therefore, let's mark it as obsolete, and replace it with a new sysfs
attribute named "rng_quality". This sets the quality setting of the
hw rng device currently loaded and active, and starts/stops the hwrng
kernel thread as required.

Dominik Brodowski (4):
  hw_random: do not bother to order list of devices by quality
  hw_random: start and stop in-kernel rngd in separate function
  hw_random: use per-rng quality value instead of global setting
  hw_random: introduce rng_quality sysfs attribute

 drivers/char/hw_random/core.c | 145 +++++++++++++++++++++++++---------
 1 file changed, 107 insertions(+), 38 deletions(-)

---
If preferred, the "current_quality" module parameter can be removed
altogether.