Merge branch 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-microblaze.git] / crypto / rng.c
index 1e21231..1490d21 100644 (file)
@@ -37,12 +37,16 @@ int crypto_rng_reset(struct crypto_rng *tfm, const u8 *seed, unsigned int slen)
        crypto_stats_get(alg);
        if (!seed && slen) {
                buf = kmalloc(slen, GFP_KERNEL);
-               if (!buf)
+               if (!buf) {
+                       crypto_alg_put(alg);
                        return -ENOMEM;
+               }
 
                err = get_random_bytes_wait(buf, slen);
-               if (err)
+               if (err) {
+                       crypto_alg_put(alg);
                        goto out;
+               }
                seed = buf;
        }