Lines Matching refs:alg
202 struct crypto_alg *alg; in xcbc_create() local
210 alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_CIPHER, in xcbc_create()
212 if (IS_ERR(alg)) in xcbc_create()
213 return PTR_ERR(alg); in xcbc_create()
215 switch(alg->cra_blocksize) { in xcbc_create()
222 inst = shash_alloc_instance("xcbc", alg); in xcbc_create()
227 err = crypto_init_spawn(shash_instance_ctx(inst), alg, in xcbc_create()
233 alignmask = alg->cra_alignmask | 3; in xcbc_create()
234 inst->alg.base.cra_alignmask = alignmask; in xcbc_create()
235 inst->alg.base.cra_priority = alg->cra_priority; in xcbc_create()
236 inst->alg.base.cra_blocksize = alg->cra_blocksize; in xcbc_create()
238 inst->alg.digestsize = alg->cra_blocksize; in xcbc_create()
239 inst->alg.descsize = ALIGN(sizeof(struct xcbc_desc_ctx), in xcbc_create()
243 alg->cra_blocksize * 2; in xcbc_create()
245 inst->alg.base.cra_ctxsize = ALIGN(sizeof(struct xcbc_tfm_ctx), in xcbc_create()
247 alg->cra_blocksize * 2; in xcbc_create()
248 inst->alg.base.cra_init = xcbc_init_tfm; in xcbc_create()
249 inst->alg.base.cra_exit = xcbc_exit_tfm; in xcbc_create()
251 inst->alg.init = crypto_xcbc_digest_init; in xcbc_create()
252 inst->alg.update = crypto_xcbc_digest_update; in xcbc_create()
253 inst->alg.final = crypto_xcbc_digest_final; in xcbc_create()
254 inst->alg.setkey = crypto_xcbc_digest_setkey; in xcbc_create()
263 crypto_mod_put(alg); in xcbc_create()