diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-07-09 07:17:23 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-07-14 14:56:46 +0800 |
commit | e13f0f6d540e8541d9351e213610e2eb5ff05717 (patch) | |
tree | 01b992351f46df2729b1de4f650069ea9c8d5a5b /crypto/aead.c | |
parent | 5964f26c9f6003e9badedb768a0735eaf034ac56 (diff) | |
download | linux-stable-e13f0f6d540e8541d9351e213610e2eb5ff05717.tar.gz linux-stable-e13f0f6d540e8541d9351e213610e2eb5ff05717.tar.bz2 linux-stable-e13f0f6d540e8541d9351e213610e2eb5ff05717.zip |
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/aead.c')
-rw-r--r-- | crypto/aead.c | 5 |
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, return ERR_CAST(algt); if ((algt->type ^ (CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV)) & - algt->mask) + algt->mask & ~CRYPTO_ALG_AEAD_NEW) return ERR_PTR(-EINVAL); name = crypto_attr_alg_name(tb[1]); @@ -683,7 +683,8 @@ struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl, CRYPTO_MAX_ALG_NAME) goto err_drop_alg; - inst->alg.base.cra_flags = alg->base.cra_flags & CRYPTO_ALG_ASYNC; + inst->alg.base.cra_flags = alg->base.cra_flags & + (CRYPTO_ALG_ASYNC | CRYPTO_ALG_AEAD_NEW); inst->alg.base.cra_priority = alg->base.cra_priority; inst->alg.base.cra_blocksize = alg->base.cra_blocksize; inst->alg.base.cra_alignmask = alg->base.cra_alignmask; |