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>
This commit is contained in:
Herbert Xu 2015-07-09 07:17:19 +08:00
parent 846f97df82
commit f6da320593

View File

@ -176,10 +176,9 @@ static inline void cryptd_check_internal(struct rtattr **tb, u32 *type,
algt = crypto_get_attr_type(tb); algt = crypto_get_attr_type(tb);
if (IS_ERR(algt)) if (IS_ERR(algt))
return; return;
if ((algt->type & CRYPTO_ALG_INTERNAL))
*type |= CRYPTO_ALG_INTERNAL; *type |= algt->type & (CRYPTO_ALG_INTERNAL | CRYPTO_ALG_AEAD_NEW);
if ((algt->mask & CRYPTO_ALG_INTERNAL)) *mask |= algt->mask & (CRYPTO_ALG_INTERNAL | CRYPTO_ALG_AEAD_NEW);
*mask |= CRYPTO_ALG_INTERNAL;
} }
static int cryptd_blkcipher_setkey(struct crypto_ablkcipher *parent, 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; goto out_drop_aead;
inst->alg.base.cra_flags = CRYPTO_ALG_ASYNC | 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.base.cra_ctxsize = sizeof(struct cryptd_aead_ctx);
inst->alg.ivsize = crypto_aead_alg_ivsize(alg); inst->alg.ivsize = crypto_aead_alg_ivsize(alg);