Lines Matching refs:inst

33 static void seqiv_free(struct crypto_instance *inst);
256 struct crypto_instance *inst; in seqiv_ablkcipher_create() local
259 inst = skcipher_geniv_alloc(tmpl, tb, 0, 0); in seqiv_ablkcipher_create()
261 if (IS_ERR(inst)) in seqiv_ablkcipher_create()
262 return PTR_ERR(inst); in seqiv_ablkcipher_create()
265 if (inst->alg.cra_ablkcipher.ivsize < sizeof(u64)) in seqiv_ablkcipher_create()
268 inst->alg.cra_init = seqiv_init; in seqiv_ablkcipher_create()
269 inst->alg.cra_exit = skcipher_geniv_exit; in seqiv_ablkcipher_create()
271 inst->alg.cra_ctxsize += inst->alg.cra_ablkcipher.ivsize; in seqiv_ablkcipher_create()
272 inst->alg.cra_ctxsize += sizeof(struct seqiv_ctx); in seqiv_ablkcipher_create()
274 inst->alg.cra_alignmask |= __alignof__(u32) - 1; in seqiv_ablkcipher_create()
276 err = crypto_register_instance(tmpl, inst); in seqiv_ablkcipher_create()
284 skcipher_geniv_free(inst); in seqiv_ablkcipher_create()
290 struct aead_instance *inst; in seqiv_aead_create() local
295 inst = aead_geniv_alloc(tmpl, tb, 0, 0); in seqiv_aead_create()
297 if (IS_ERR(inst)) in seqiv_aead_create()
298 return PTR_ERR(inst); in seqiv_aead_create()
300 inst->alg.base.cra_alignmask |= __alignof__(u32) - 1; in seqiv_aead_create()
302 spawn = aead_instance_ctx(inst); in seqiv_aead_create()
306 if (inst->alg.ivsize != sizeof(u64)) in seqiv_aead_create()
309 inst->alg.encrypt = seqiv_aead_encrypt; in seqiv_aead_create()
310 inst->alg.decrypt = seqiv_aead_decrypt; in seqiv_aead_create()
312 inst->alg.init = aead_init_geniv; in seqiv_aead_create()
313 inst->alg.exit = aead_exit_geniv; in seqiv_aead_create()
315 inst->alg.base.cra_ctxsize = sizeof(struct aead_geniv_ctx); in seqiv_aead_create()
316 inst->alg.base.cra_ctxsize += inst->alg.ivsize; in seqiv_aead_create()
318 err = aead_register_instance(tmpl, inst); in seqiv_aead_create()
326 aead_geniv_free(inst); in seqiv_aead_create()
347 static void seqiv_free(struct crypto_instance *inst) in seqiv_free() argument
349 if ((inst->alg.cra_flags ^ CRYPTO_ALG_TYPE_AEAD) & CRYPTO_ALG_TYPE_MASK) in seqiv_free()
350 skcipher_geniv_free(inst); in seqiv_free()
352 aead_geniv_free(aead_instance(inst)); in seqiv_free()