|
@@ -604,7 +604,7 @@ struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl,
|
|
return ERR_CAST(algt);
|
|
return ERR_CAST(algt);
|
|
|
|
|
|
if ((algt->type ^ (CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV)) &
|
|
if ((algt->type ^ (CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV)) &
|
|
- algt->mask)
|
|
|
|
|
|
+ algt->mask & ~CRYPTO_ALG_AEAD_NEW)
|
|
return ERR_PTR(-EINVAL);
|
|
return ERR_PTR(-EINVAL);
|
|
|
|
|
|
name = crypto_attr_alg_name(tb[1]);
|
|
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)
|
|
CRYPTO_MAX_ALG_NAME)
|
|
goto err_drop_alg;
|
|
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_priority = alg->base.cra_priority;
|
|
inst->alg.base.cra_blocksize = alg->base.cra_blocksize;
|
|
inst->alg.base.cra_blocksize = alg->base.cra_blocksize;
|
|
inst->alg.base.cra_alignmask = alg->base.cra_alignmask;
|
|
inst->alg.base.cra_alignmask = alg->base.cra_alignmask;
|