[PATCH 0/4] hw_random: introduce rng_quality sysfs attribute

From: Dominik Brodowski
Date: Sun Feb 13 2022 - 15:50:25 EST


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.

--
2.35.1