summaryrefslogtreecommitdiff
path: root/crypto/rng.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2025-10-02 17:45:39 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-15 11:56:24 +0200
commit17acbcd44fe8dc17dc1072375e76df2d52da6ac8 (patch)
treeaa2191ab125a1a36518544fd5aaa4a6e4f2c0f21 /crypto/rng.c
parent040a5685e13c9ad9e5041a1d84bd698774699b88 (diff)
downloadlinux-17acbcd44fe8dc17dc1072375e76df2d52da6ac8.tar.gz
linux-17acbcd44fe8dc17dc1072375e76df2d52da6ac8.tar.bz2
linux-17acbcd44fe8dc17dc1072375e76df2d52da6ac8.zip
crypto: rng - Ensure set_ent is always present
commit c0d36727bf39bb16ef0a67ed608e279535ebf0da upstream. Ensure that set_ent is always set since only drbg provides it. Fixes: 77ebdabe8de7 ("crypto: af_alg - add extra parameters for DRBG interface") Reported-by: Yiqi Sun <sunyiqixm@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'crypto/rng.c')
-rw-r--r--crypto/rng.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/rng.c b/crypto/rng.c
index fea082b25fe4..a2bf2efb7937 100644
--- a/crypto/rng.c
+++ b/crypto/rng.c
@@ -174,6 +174,11 @@ out:
EXPORT_SYMBOL_GPL(crypto_del_default_rng);
#endif
+static void rng_default_set_ent(struct crypto_rng *tfm, const u8 *data,
+ unsigned int len)
+{
+}
+
int crypto_register_rng(struct rng_alg *alg)
{
struct crypto_alg *base = &alg->base;
@@ -185,6 +190,9 @@ int crypto_register_rng(struct rng_alg *alg)
base->cra_flags &= ~CRYPTO_ALG_TYPE_MASK;
base->cra_flags |= CRYPTO_ALG_TYPE_RNG;
+ if (!alg->set_ent)
+ alg->set_ent = rng_default_set_ent;
+
return crypto_register_alg(base);
}
EXPORT_SYMBOL_GPL(crypto_register_rng);