On Fri, Jun 21, 2024 at 05:02:24PM +0200, Harald Freudenberger wrote: > When there are rng sources registering at the hwrng core via > hwrng_register() a struct hwrng is delivered. There is a quality > field in there which is used to decide which of the registered > hw rng sources will be used by the hwrng core. > > With commit 16bdbae39428 ("hwrng: core - treat default_quality as > a maximum and default to 1024") there came in a new default of > 1024 in case this field is empty and all the known hw rng sources > at that time had been reworked to not fill this field and thus > use the default of 1024. > > The code choosing the 'better' hw rng source during registration > of a new hw rng source has never been adapted to this and thus > used 0 if the hw rng implementation does not fill the quality field. > So when two rng sources register, one with 0 (meaning 1024) and > the other one with 999, the 999 hw rng will be chosen. > > As the later invoked function hwrng_init() anyway adjusts the > quality field of the hw rng source, this adjustment is now done > during registration of this new hw rng source. > > Tested on s390 with two hardware rng sources: crypto cards and > trng true random generator device driver. > > Fixes: 16bdbae39428 ("hwrng: core - treat default_quality as a maximum and default to 1024") > Reported-by: Christian Rund <Christian.Rund@xxxxxxxxxx> > Suggested-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxx> > --- > drivers/char/hw_random/core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt