summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2015-07-09 07:17:19 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2015-07-14 14:56:45 +0800
commitf6da32059324e06adacbc1235d50cce4de9d817a (patch)
tree4771cbc0fa7952dc2619eacd250c3f5ad5273d79 /crypto
parent846f97df822c00e0042c15b60e01ca0005b3e737 (diff)
downloadlinux-stable-f6da32059324e06adacbc1235d50cce4de9d817a.tar.gz
linux-stable-f6da32059324e06adacbc1235d50cce4de9d817a.tar.bz2
linux-stable-f6da32059324e06adacbc1235d50cce4de9d817a.zip
crypto: cryptd - Propagate new AEAD implementation flag
This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/cryptd.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c
index 2f833dcc1711..360ee85543fd 100644
--- a/crypto/cryptd.c
+++ b/crypto/cryptd.c
@@ -176,10 +176,9 @@ static inline void cryptd_check_internal(struct rtattr **tb, u32 *type,
algt = crypto_get_attr_type(tb);
if (IS_ERR(algt))
return;
- if ((algt->type & CRYPTO_ALG_INTERNAL))
- *type |= CRYPTO_ALG_INTERNAL;
- if ((algt->mask & CRYPTO_ALG_INTERNAL))
- *mask |= CRYPTO_ALG_INTERNAL;
+
+ *type |= algt->type & (CRYPTO_ALG_INTERNAL | CRYPTO_ALG_AEAD_NEW);
+ *mask |= algt->mask & (CRYPTO_ALG_INTERNAL | CRYPTO_ALG_AEAD_NEW);
}
static int cryptd_blkcipher_setkey(struct crypto_ablkcipher *parent,
@@ -806,7 +805,9 @@ static int cryptd_create_aead(struct crypto_template *tmpl,
goto out_drop_aead;
inst->alg.base.cra_flags = CRYPTO_ALG_ASYNC |
- (alg->base.cra_flags & CRYPTO_ALG_INTERNAL);
+ (alg->base.cra_flags &
+ (CRYPTO_ALG_INTERNAL |
+ CRYPTO_ALG_AEAD_NEW));
inst->alg.base.cra_ctxsize = sizeof(struct cryptd_aead_ctx);
inst->alg.ivsize = crypto_aead_alg_ivsize(alg);