Lines Matching refs:alg

24 static inline struct crypto_istat_hash *shash_get_stat(struct shash_alg *alg)  in shash_get_stat()  argument
26 return hash_get_stat(&alg->halg); in shash_get_stat()
29 static inline int crypto_shash_errstat(struct shash_alg *alg, int err) in crypto_shash_errstat() argument
31 return crypto_hash_errstat(&alg->halg, err); in crypto_shash_errstat()
62 static void shash_set_needkey(struct crypto_shash *tfm, struct shash_alg *alg) in shash_set_needkey() argument
64 if (crypto_shash_alg_needs_key(alg)) in shash_set_needkey()
412 struct shash_alg *alg = __crypto_shash_alg(calg); in crypto_init_shash_ops_async() local
434 if (crypto_shash_alg_has_setkey(alg)) in crypto_init_shash_ops_async()
469 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_shash_exit_tfm() local
471 alg->exit_tfm(hash); in crypto_shash_exit_tfm()
477 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_shash_init_tfm() local
480 hash->descsize = alg->descsize; in crypto_shash_init_tfm()
482 shash_set_needkey(hash, alg); in crypto_shash_init_tfm()
484 if (alg->exit_tfm) in crypto_shash_init_tfm()
487 if (!alg->init_tfm) in crypto_shash_init_tfm()
490 err = alg->init_tfm(hash); in crypto_shash_init_tfm()
496 if (alg->exit_tfm) in crypto_shash_init_tfm()
497 alg->exit_tfm(hash); in crypto_shash_init_tfm()
512 struct sk_buff *skb, struct crypto_alg *alg) in crypto_shash_report() argument
515 struct shash_alg *salg = __crypto_shash_alg(alg); in crypto_shash_report()
521 rhash.blocksize = alg->cra_blocksize; in crypto_shash_report()
527 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg)
529 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) in crypto_shash_show() argument
531 struct shash_alg *salg = __crypto_shash_alg(alg); in crypto_shash_show()
534 seq_printf(m, "blocksize : %u\n", alg->cra_blocksize); in crypto_shash_show()
539 struct sk_buff *skb, struct crypto_alg *alg) in crypto_shash_report_stat() argument
541 return crypto_hash_report_stat(skb, alg, "shash"); in crypto_shash_report_stat()
588 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_clone_shash() local
592 if (!crypto_shash_alg_has_setkey(alg)) { in crypto_clone_shash()
600 if (!alg->clone_tfm && (alg->init_tfm || alg->base.cra_init)) in crypto_clone_shash()
609 if (alg->clone_tfm) { in crypto_clone_shash()
610 err = alg->clone_tfm(nhash, hash); in crypto_clone_shash()
621 int hash_prepare_alg(struct hash_alg_common *alg) in hash_prepare_alg() argument
623 struct crypto_istat_hash *istat = hash_get_stat(alg); in hash_prepare_alg()
624 struct crypto_alg *base = &alg->base; in hash_prepare_alg()
626 if (alg->digestsize > HASH_MAX_DIGESTSIZE) in hash_prepare_alg()
637 static int shash_prepare_alg(struct shash_alg *alg) in shash_prepare_alg() argument
639 struct crypto_alg *base = &alg->halg.base; in shash_prepare_alg()
642 if (alg->descsize > HASH_MAX_DESCSIZE) in shash_prepare_alg()
648 if ((alg->export && !alg->import) || (alg->import && !alg->export)) in shash_prepare_alg()
651 err = hash_prepare_alg(&alg->halg); in shash_prepare_alg()
658 if (!alg->finup) in shash_prepare_alg()
659 alg->finup = shash_finup_unaligned; in shash_prepare_alg()
660 if (!alg->digest) in shash_prepare_alg()
661 alg->digest = shash_digest_unaligned; in shash_prepare_alg()
662 if (!alg->export) { in shash_prepare_alg()
663 alg->export = shash_default_export; in shash_prepare_alg()
664 alg->import = shash_default_import; in shash_prepare_alg()
665 alg->halg.statesize = alg->descsize; in shash_prepare_alg()
667 if (!alg->setkey) in shash_prepare_alg()
668 alg->setkey = shash_no_setkey; in shash_prepare_alg()
673 int crypto_register_shash(struct shash_alg *alg) in crypto_register_shash() argument
675 struct crypto_alg *base = &alg->base; in crypto_register_shash()
678 err = shash_prepare_alg(alg); in crypto_register_shash()
686 void crypto_unregister_shash(struct shash_alg *alg) in crypto_unregister_shash() argument
688 crypto_unregister_alg(&alg->base); in crypto_unregister_shash()
729 err = shash_prepare_alg(&inst->alg); in shash_register_instance()