Lines Matching refs:alg
201 struct crypto_alg *alg;
209 alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_CIPHER,
211 if (IS_ERR(alg))
212 return PTR_ERR(alg);
214 switch(alg->cra_blocksize) {
221 inst = shash_alloc_instance("xcbc", alg);
226 err = crypto_init_spawn(shash_instance_ctx(inst), alg,
232 alignmask = alg->cra_alignmask | 3;
233 inst->alg.base.cra_alignmask = alignmask;
234 inst->alg.base.cra_priority = alg->cra_priority;
235 inst->alg.base.cra_blocksize = alg->cra_blocksize;
237 inst->alg.digestsize = alg->cra_blocksize;
238 inst->alg.descsize = ALIGN(sizeof(struct xcbc_desc_ctx),
242 alg->cra_blocksize * 2;
244 inst->alg.base.cra_ctxsize = ALIGN(sizeof(struct xcbc_tfm_ctx),
246 alg->cra_blocksize * 2;
247 inst->alg.base.cra_init = xcbc_init_tfm;
248 inst->alg.base.cra_exit = xcbc_exit_tfm;
250 inst->alg.init = crypto_xcbc_digest_init;
251 inst->alg.update = crypto_xcbc_digest_update;
252 inst->alg.final = crypto_xcbc_digest_final;
253 inst->alg.setkey = crypto_xcbc_digest_setkey;
262 crypto_mod_put(alg);