crypto: authenc - Only access common skcipher fields on spawn
[linux-block.git] / crypto / authenc.c
index 3326c7343e8673b6adc6d22292c67aecfa1d55c6..fa896ab143bdf582d54814e358afef4133260004 100644 (file)
@@ -373,9 +373,9 @@ static int crypto_authenc_create(struct crypto_template *tmpl,
        u32 mask;
        struct aead_instance *inst;
        struct authenc_instance_ctx *ctx;
+       struct skcipher_alg_common *enc;
        struct hash_alg_common *auth;
        struct crypto_alg *auth_base;
-       struct skcipher_alg *enc;
        int err;
 
        err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
@@ -398,7 +398,7 @@ static int crypto_authenc_create(struct crypto_template *tmpl,
                                   crypto_attr_alg_name(tb[2]), 0, mask);
        if (err)
                goto err_free_inst;
-       enc = crypto_spawn_skcipher_alg(&ctx->enc);
+       enc = crypto_spawn_skcipher_alg_common(&ctx->enc);
 
        ctx->reqoff = ALIGN(2 * auth->digestsize + auth_base->cra_alignmask,
                            auth_base->cra_alignmask + 1);
@@ -422,8 +422,8 @@ static int crypto_authenc_create(struct crypto_template *tmpl,
                                       enc->base.cra_alignmask;
        inst->alg.base.cra_ctxsize = sizeof(struct crypto_authenc_ctx);
 
-       inst->alg.ivsize = crypto_skcipher_alg_ivsize(enc);
-       inst->alg.chunksize = crypto_skcipher_alg_chunksize(enc);
+       inst->alg.ivsize = enc->ivsize;
+       inst->alg.chunksize = enc->chunksize;
        inst->alg.maxauthsize = auth->digestsize;
 
        inst->alg.init = crypto_authenc_init_tfm;