Lines Matching defs:tfm

348 static void crypto_exit_ops(struct crypto_tfm *tfm)
350 const struct crypto_type *type = tfm->__crt_alg->cra_type;
352 if (type && tfm->exit)
353 tfm->exit(tfm);
392 struct crypto_tfm *tfm;
396 tfm_size = sizeof(*tfm) + crypto_ctxsize(alg, type, mask);
397 tfm = kzalloc(tfm_size, gfp);
398 if (tfm == NULL)
401 tfm->__crt_alg = alg;
402 refcount_set(&tfm->refcnt, 1);
404 if (!tfm->exit && alg->cra_init && (err = alg->cra_init(tfm)))
410 crypto_exit_ops(tfm);
413 kfree(tfm);
415 tfm = ERR_PTR(err);
417 return tfm;
452 struct crypto_tfm *tfm;
464 tfm = __crypto_alloc_tfm(alg, type, mask);
465 if (!IS_ERR(tfm))
466 return tfm;
469 err = PTR_ERR(tfm);
488 struct crypto_tfm *tfm;
494 total = tfmsize + sizeof(*tfm) + frontend->extsize(alg);
500 tfm = (struct crypto_tfm *)(mem + tfmsize);
501 tfm->__crt_alg = alg;
502 tfm->node = node;
503 refcount_set(&tfm->refcnt, 1);
512 struct crypto_tfm *tfm;
520 tfm = (struct crypto_tfm *)(mem + frontend->tfmsize);
522 err = frontend->init_tfm(tfm);
526 if (!tfm->exit && alg->cra_init && (err = alg->cra_init(tfm)))
532 crypto_exit_ops(tfm);
547 struct crypto_tfm *tfm;
560 tfm = (struct crypto_tfm *)(mem + frontend->tfmsize);
561 tfm->crt_flags = otfm->crt_flags;
562 tfm->exit = otfm->exit;
611 void *tfm;
623 tfm = crypto_create_tfm_node(alg, frontend, node);
624 if (!IS_ERR(tfm))
625 return tfm;
628 err = PTR_ERR(tfm);
645 * @mem: Start of tfm slab
646 * @tfm: Transform to free
651 void crypto_destroy_tfm(void *mem, struct crypto_tfm *tfm)
658 if (!refcount_dec_and_test(&tfm->refcnt))
660 alg = tfm->__crt_alg;
662 if (!tfm->exit && alg->cra_exit)
663 alg->cra_exit(tfm);
664 crypto_exit_ops(tfm);