]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: rng - Free default RNG on module exit
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 4 Jun 2026 04:30:54 +0000 (12:30 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 12 Jun 2026 01:56:45 +0000 (09:56 +0800)
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>
crypto/rng.c

index eec786c45bdd81943af16ce3c87cefabe18ed05e..828b0d8074738d18c267746d7c485d03e4414e19 100644 (file)
@@ -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");