aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2015-07-08 19:17:23 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2015-07-14 02:56:46 -0400
commite13f0f6d540e8541d9351e213610e2eb5ff05717 (patch)
tree01b992351f46df2729b1de4f650069ea9c8d5a5b /crypto
parent5964f26c9f6003e9badedb768a0735eaf034ac56 (diff)
crypto: aead - Propagate new AEAD implementation flag for IV generators
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/aead.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/aead.c b/crypto/aead.c
index 8cd45a7eb7af..1a5b118c301a 100644
--- a/crypto/aead.c
+++ b/crypto/aead.c
@@ -604,7 +604,7 @@ struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl,
604 return ERR_CAST(algt); 604 return ERR_CAST(algt);
605 605
606 if ((algt->type ^ (CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV)) & 606 if ((algt->type ^ (CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV)) &
607 algt->mask) 607 algt->mask & ~CRYPTO_ALG_AEAD_NEW)
608 return ERR_PTR(-EINVAL); 608 return ERR_PTR(-EINVAL);
609 609
610 name = crypto_attr_alg_name(tb[1]); 610 name = crypto_attr_alg_name(tb[1]);
@@ -683,7 +683,8 @@ struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl,
683 CRYPTO_MAX_ALG_NAME) 683 CRYPTO_MAX_ALG_NAME)
684 goto err_drop_alg; 684 goto err_drop_alg;
685 685
686 inst->alg.base.cra_flags = alg->base.cra_flags & CRYPTO_ALG_ASYNC; 686 inst->alg.base.cra_flags = alg->base.cra_flags &
687 (CRYPTO_ALG_ASYNC | CRYPTO_ALG_AEAD_NEW);
687 inst->alg.base.cra_priority = alg->base.cra_priority; 688 inst->alg.base.cra_priority = alg->base.cra_priority;
688 inst->alg.base.cra_blocksize = alg->base.cra_blocksize; 689 inst->alg.base.cra_blocksize = alg->base.cra_blocksize;
689 inst->alg.base.cra_alignmask = alg->base.cra_alignmask; 690 inst->alg.base.cra_alignmask = alg->base.cra_alignmask;