diff options
| author | Herbert Xu <herbert@gondor.apana.org.au> | 2026-06-04 12:30:54 +0800 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-06-12 09:56:45 +0800 |
| commit | 606ba888b98e0d26a2c4e5c8dc0542e3ad8f0f3a (patch) | |
| tree | 555c75b818bb9bf2866302ce3e8de9f37e609d06 /crypto | |
| parent | 6b7e97752854b1f7bccc41864428ea3b55c53cde (diff) | |
crypto: rng - Free default RNG on module exit
When the rng module is removed the default RNG will be leaked.
Call crypto_del_default_rng to free it if possible.
Fixes: 7cecadb7cca8 ("crypto: rng - Do not free default RNG when it becomes unused")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
| -rw-r--r-- | crypto/rng.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/rng.c b/crypto/rng.c index eec786c45bdd..828b0d807473 100644 --- a/crypto/rng.c +++ b/crypto/rng.c @@ -230,5 +230,16 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count) } EXPORT_SYMBOL_GPL(crypto_unregister_rngs); +static void __exit rng_exit(void) +{ + int err; + + err = crypto_del_default_rng(); + if (err) + pr_err("Failed delete default RNG: %d\n", err); +} + +module_exit(rng_exit); + MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Random Number Generator"); |
