Lines Matching refs:alg

44 static void shash_set_needkey(struct crypto_shash *tfm, struct shash_alg *alg)  in shash_set_needkey()  argument
46 if (crypto_shash_alg_needs_key(alg)) in shash_set_needkey()
305 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_shash_exit_tfm() local
307 alg->exit_tfm(hash); in crypto_shash_exit_tfm()
313 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_shash_init_tfm() local
315 shash_set_needkey(hash, alg); in crypto_shash_init_tfm()
317 if (alg->exit_tfm) in crypto_shash_init_tfm()
320 if (!alg->init_tfm) in crypto_shash_init_tfm()
323 return alg->init_tfm(hash); in crypto_shash_init_tfm()
334 struct sk_buff *skb, struct crypto_alg *alg) in crypto_shash_report() argument
337 struct shash_alg *salg = __crypto_shash_alg(alg); in crypto_shash_report()
343 rhash.blocksize = alg->cra_blocksize; in crypto_shash_report()
349 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg)
351 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg) in crypto_shash_show() argument
353 struct shash_alg *salg = __crypto_shash_alg(alg); in crypto_shash_show()
356 seq_printf(m, "blocksize : %u\n", alg->cra_blocksize); in crypto_shash_show()
402 struct shash_alg *alg = crypto_shash_alg(hash); in crypto_clone_shash() local
406 if (!crypto_shash_alg_has_setkey(alg)) { in crypto_clone_shash()
414 if (!alg->clone_tfm && (alg->init_tfm || alg->base.cra_init)) in crypto_clone_shash()
421 if (alg->clone_tfm) { in crypto_clone_shash()
422 err = alg->clone_tfm(nhash, hash); in crypto_clone_shash()
429 if (alg->exit_tfm) in crypto_clone_shash()
436 int hash_prepare_alg(struct hash_alg_common *alg) in hash_prepare_alg() argument
438 struct crypto_alg *base = &alg->base; in hash_prepare_alg()
440 if (alg->digestsize > HASH_MAX_DIGESTSIZE) in hash_prepare_alg()
462 static int shash_prepare_alg(struct shash_alg *alg) in shash_prepare_alg() argument
464 struct crypto_alg *base = &alg->halg.base; in shash_prepare_alg()
467 if ((alg->export && !alg->import) || (alg->import && !alg->export)) in shash_prepare_alg()
470 err = hash_prepare_alg(&alg->halg); in shash_prepare_alg()
489 if (!alg->finup) in shash_prepare_alg()
490 alg->finup = shash_default_finup; in shash_prepare_alg()
491 if (!alg->digest) in shash_prepare_alg()
492 alg->digest = shash_default_digest; in shash_prepare_alg()
493 if (!alg->export && !alg->halg.statesize) in shash_prepare_alg()
494 alg->halg.statesize = alg->descsize; in shash_prepare_alg()
495 if (!alg->setkey) in shash_prepare_alg()
496 alg->setkey = shash_no_setkey; in shash_prepare_alg()
500 alg->descsize += base->cra_blocksize + 1; in shash_prepare_alg()
501 alg->statesize += base->cra_blocksize + 1; in shash_prepare_alg()
502 alg->export_core = alg->export; in shash_prepare_alg()
503 alg->import_core = alg->import; in shash_prepare_alg()
504 } else if (!alg->export_core || !alg->import_core) { in shash_prepare_alg()
505 alg->export_core = shash_default_export_core; in shash_prepare_alg()
506 alg->import_core = shash_default_import_core; in shash_prepare_alg()
510 if (alg->descsize > HASH_MAX_DESCSIZE) in shash_prepare_alg()
512 if (alg->statesize > HASH_MAX_STATESIZE) in shash_prepare_alg()
515 base->cra_reqsize = sizeof(struct shash_desc) + alg->descsize; in shash_prepare_alg()
520 int crypto_register_shash(struct shash_alg *alg) in crypto_register_shash() argument
522 struct crypto_alg *base = &alg->base; in crypto_register_shash()
525 err = shash_prepare_alg(alg); in crypto_register_shash()
533 void crypto_unregister_shash(struct shash_alg *alg) in crypto_unregister_shash() argument
535 crypto_unregister_alg(&alg->base); in crypto_unregister_shash()
576 err = shash_prepare_alg(&inst->alg); in shash_register_instance()