Lines Matching defs:alg
217 struct crypto_alg *alg;
224 alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_CIPHER,
226 if (IS_ERR(alg))
227 return ERR_CAST(alg);
230 if (!is_power_of_2(alg->cra_blocksize))
233 inst = crypto_alloc_instance("cbc", alg);
237 inst->alg.cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER;
238 inst->alg.cra_priority = alg->cra_priority;
239 inst->alg.cra_blocksize = alg->cra_blocksize;
240 inst->alg.cra_alignmask = alg->cra_alignmask;
241 inst->alg.cra_type = &crypto_blkcipher_type;
244 inst->alg.cra_alignmask |= __alignof__(u32) - 1;
246 inst->alg.cra_blkcipher.ivsize = alg->cra_blocksize;
247 inst->alg.cra_blkcipher.min_keysize = alg->cra_cipher.cia_min_keysize;
248 inst->alg.cra_blkcipher.max_keysize = alg->cra_cipher.cia_max_keysize;
250 inst->alg.cra_ctxsize = sizeof(struct crypto_cbc_ctx);
252 inst->alg.cra_init = crypto_cbc_init_tfm;
253 inst->alg.cra_exit = crypto_cbc_exit_tfm;
255 inst->alg.cra_blkcipher.setkey = crypto_cbc_setkey;
256 inst->alg.cra_blkcipher.encrypt = crypto_cbc_encrypt;
257 inst->alg.cra_blkcipher.decrypt = crypto_cbc_decrypt;
260 crypto_mod_put(alg);