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);
                                   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);
                                       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;