crypto: rng - Ensure set_ent is always present

commit c0d36727bf39bb16ef0a67ed608e279535ebf0da upstream.

Ensure that set_ent is always set since only drbg provides it.

Fixes: 77ebdabe8d ("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>
This commit is contained in:
Herbert Xu 2025-10-02 17:45:39 +08:00 committed by Greg Kroah-Hartman
parent 040a5685e1
commit 17acbcd44f

View File

@ -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);