summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorMarek Behún <kabel@kernel.org>2025-04-22 12:57:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-05-02 08:47:08 +0300
commit4f9f61598b19d1e68ba33239199ba85f070ca00a (patch)
tree9e18f06a9fe34927c6d75279813532202636a3f5 /drivers/crypto
parent3a57f45b91fba0ddd5ec06e5e4fef65e7b98c696 (diff)
downloadlinux-4f9f61598b19d1e68ba33239199ba85f070ca00a.tar.xz
crypto: atmel-sha204a - Set hwrng quality to lowest possible
commit 8006aff15516a170640239c5a8e6696c0ba18d8e upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Marek Behún <kabel@kernel.org>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/atmel-sha204a.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/crypto/atmel-sha204a.c b/drivers/crypto/atmel-sha204a.c
index a84b657598c6..51738c730717 100644
--- a/drivers/crypto/atmel-sha204a.c
+++ b/drivers/crypto/atmel-sha204a.c
@@ -107,7 +107,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;
- i2c_priv->hwrng.quality = 1024;
+
+ /*
+ * 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)