diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-05 13:31:19 +0900 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-05 13:31:19 +0900 |
commit | ca90d5f52148d6fb15bb618faf26e8131c9307a4 (patch) | |
tree | 64472ccd13e1e641da8a431412b8b820f9b13db0 | |
parent | 839ae06412de09b994c5c317600e029b1012b4ff (diff) | |
parent | 1455c34baef7ee5912f383b26255915c90534e88 (diff) | |
download | linux-crypto-ca90d5f52148d6fb15bb618faf26e8131c9307a4.tar.gz linux-crypto-ca90d5f52148d6fb15bb618faf26e8131c9307a4.zip |
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
"This fixes two memory leaks and a list corruption bug"
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: user - prevent operating on larval algorithms
crypto: cryptd - Fix skcipher instance memory leak
lib/mpi: Fix karactx leak in mpi_powm
Diffstat (limited to '')
-rw-r--r-- | crypto/cryptd.c | 1 | ||||
-rw-r--r-- | crypto/crypto_user_base.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c index 1ce1bf6d..5f76c6e2 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c @@ -388,6 +388,7 @@ static void cryptd_skcipher_free(struct skcipher_instance *inst) struct skcipherd_instance_ctx *ctx = skcipher_instance_ctx(inst); crypto_drop_skcipher(&ctx->spawn); + kfree(inst); } static int cryptd_create_skcipher(struct crypto_template *tmpl, diff --git a/crypto/crypto_user_base.c b/crypto/crypto_user_base.c index d5d5d155..c65e3900 100644 --- a/crypto/crypto_user_base.c +++ b/crypto/crypto_user_base.c @@ -44,6 +44,9 @@ struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact) list_for_each_entry(q, &crypto_alg_list, cra_list) { int match = 0; + if (crypto_is_larval(q)) + continue; + if ((q->cra_flags ^ p->cru_type) & p->cru_mask) continue; |