Lines Matching refs:alg

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