]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: atmel-sha204a - Set hwrng quality to lowest possible
authorMarek Behún <kabel@kernel.org>
Tue, 22 Apr 2025 09:57:18 +0000 (11:57 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 23 Apr 2025 01:32:57 +0000 (09:32 +0800)
According to the review by Bill Cox [1], the Atmel SHA204A random number
generator produces random numbers with very low entropy.

Set the lowest possible entropy for this chip just to be safe.

[1] https://www.metzdowd.com/pipermail/cryptography/2014-December/023858.html

Fixes: da001fb651b00e1d ("crypto: atmel-i2c - add support for SHA204A random number generator")
Cc: <stable@vger.kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/atmel-sha204a.c

index 75bebec2c757bf9b82e67f216df661923e3549c5..0fcf4a39de279d5cc15822dbf108290d40ba35b4 100644 (file)
@@ -163,6 +163,12 @@ static int atmel_sha204a_probe(struct i2c_client *client)
        i2c_priv->hwrng.name = dev_name(&client->dev);
        i2c_priv->hwrng.read = atmel_sha204a_rng_read;
 
+       /*
+        * According to review by Bill Cox [1], this HWRNG has very low entropy.
+        * [1] https://www.metzdowd.com/pipermail/cryptography/2014-December/023858.html
+        */
+       i2c_priv->hwrng.quality = 1;
+
        ret = devm_hwrng_register(&client->dev, &i2c_priv->hwrng);
        if (ret)
                dev_warn(&client->dev, "failed to register RNG (%d)\n", ret);