Lines Matching refs:alg
284 static void *cryptd_alloc_instance(struct crypto_alg *alg, unsigned int head, in cryptd_alloc_instance() argument
298 if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, in cryptd_alloc_instance()
299 "cryptd(%s)", alg->cra_driver_name) >= CRYPTO_MAX_ALG_NAME) in cryptd_alloc_instance()
302 memcpy(inst->alg.cra_name, alg->cra_name, CRYPTO_MAX_ALG_NAME); in cryptd_alloc_instance()
304 inst->alg.cra_priority = alg->cra_priority + 50; in cryptd_alloc_instance()
305 inst->alg.cra_blocksize = alg->cra_blocksize; in cryptd_alloc_instance()
306 inst->alg.cra_alignmask = alg->cra_alignmask; in cryptd_alloc_instance()
323 struct crypto_alg *alg; in cryptd_create_blkcipher() local
326 alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_BLKCIPHER, in cryptd_create_blkcipher()
328 if (IS_ERR(alg)) in cryptd_create_blkcipher()
329 return PTR_ERR(alg); in cryptd_create_blkcipher()
331 inst = cryptd_alloc_instance(alg, 0, sizeof(*ctx)); in cryptd_create_blkcipher()
339 err = crypto_init_spawn(&ctx->spawn, alg, inst, in cryptd_create_blkcipher()
344 inst->alg.cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC; in cryptd_create_blkcipher()
345 inst->alg.cra_type = &crypto_ablkcipher_type; in cryptd_create_blkcipher()
347 inst->alg.cra_ablkcipher.ivsize = alg->cra_blkcipher.ivsize; in cryptd_create_blkcipher()
348 inst->alg.cra_ablkcipher.min_keysize = alg->cra_blkcipher.min_keysize; in cryptd_create_blkcipher()
349 inst->alg.cra_ablkcipher.max_keysize = alg->cra_blkcipher.max_keysize; in cryptd_create_blkcipher()
351 inst->alg.cra_ablkcipher.geniv = alg->cra_blkcipher.geniv; in cryptd_create_blkcipher()
353 inst->alg.cra_ctxsize = sizeof(struct cryptd_blkcipher_ctx); in cryptd_create_blkcipher()
355 inst->alg.cra_init = cryptd_blkcipher_init_tfm; in cryptd_create_blkcipher()
356 inst->alg.cra_exit = cryptd_blkcipher_exit_tfm; in cryptd_create_blkcipher()
358 inst->alg.cra_ablkcipher.setkey = cryptd_blkcipher_setkey; in cryptd_create_blkcipher()
359 inst->alg.cra_ablkcipher.encrypt = cryptd_blkcipher_encrypt_enqueue; in cryptd_create_blkcipher()
360 inst->alg.cra_ablkcipher.decrypt = cryptd_blkcipher_decrypt_enqueue; in cryptd_create_blkcipher()
370 crypto_mod_put(alg); in cryptd_create_blkcipher()
584 struct crypto_alg *alg; in cryptd_create_hash() local
591 alg = &salg->base; in cryptd_create_hash()
592 inst = cryptd_alloc_instance(alg, ahash_instance_headroom(), in cryptd_create_hash()
606 inst->alg.halg.base.cra_flags = CRYPTO_ALG_ASYNC; in cryptd_create_hash()
608 inst->alg.halg.digestsize = salg->digestsize; in cryptd_create_hash()
609 inst->alg.halg.statesize = salg->statesize; in cryptd_create_hash()
610 inst->alg.halg.base.cra_ctxsize = sizeof(struct cryptd_hash_ctx); in cryptd_create_hash()
612 inst->alg.halg.base.cra_init = cryptd_hash_init_tfm; in cryptd_create_hash()
613 inst->alg.halg.base.cra_exit = cryptd_hash_exit_tfm; in cryptd_create_hash()
615 inst->alg.init = cryptd_hash_init_enqueue; in cryptd_create_hash()
616 inst->alg.update = cryptd_hash_update_enqueue; in cryptd_create_hash()
617 inst->alg.final = cryptd_hash_final_enqueue; in cryptd_create_hash()
618 inst->alg.finup = cryptd_hash_finup_enqueue; in cryptd_create_hash()
619 inst->alg.export = cryptd_hash_export; in cryptd_create_hash()
620 inst->alg.import = cryptd_hash_import; in cryptd_create_hash()
621 inst->alg.setkey = cryptd_hash_setkey; in cryptd_create_hash()
622 inst->alg.digest = cryptd_hash_digest_enqueue; in cryptd_create_hash()
632 crypto_mod_put(alg); in cryptd_create_hash()
727 struct crypto_alg *alg; in cryptd_create_aead() local
730 alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_AEAD, in cryptd_create_aead()
732 if (IS_ERR(alg)) in cryptd_create_aead()
733 return PTR_ERR(alg); in cryptd_create_aead()
735 inst = cryptd_alloc_instance(alg, 0, sizeof(*ctx)); in cryptd_create_aead()
743 err = crypto_init_spawn(&ctx->aead_spawn.base, alg, inst, in cryptd_create_aead()
748 inst->alg.cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC; in cryptd_create_aead()
749 inst->alg.cra_type = alg->cra_type; in cryptd_create_aead()
750 inst->alg.cra_ctxsize = sizeof(struct cryptd_aead_ctx); in cryptd_create_aead()
751 inst->alg.cra_init = cryptd_aead_init_tfm; in cryptd_create_aead()
752 inst->alg.cra_exit = cryptd_aead_exit_tfm; in cryptd_create_aead()
753 inst->alg.cra_aead.setkey = alg->cra_aead.setkey; in cryptd_create_aead()
754 inst->alg.cra_aead.setauthsize = alg->cra_aead.setauthsize; in cryptd_create_aead()
755 inst->alg.cra_aead.geniv = alg->cra_aead.geniv; in cryptd_create_aead()
756 inst->alg.cra_aead.ivsize = alg->cra_aead.ivsize; in cryptd_create_aead()
757 inst->alg.cra_aead.maxauthsize = alg->cra_aead.maxauthsize; in cryptd_create_aead()
758 inst->alg.cra_aead.encrypt = cryptd_aead_encrypt_enqueue; in cryptd_create_aead()
759 inst->alg.cra_aead.decrypt = cryptd_aead_decrypt_enqueue; in cryptd_create_aead()
760 inst->alg.cra_aead.givencrypt = alg->cra_aead.givencrypt; in cryptd_create_aead()
761 inst->alg.cra_aead.givdecrypt = alg->cra_aead.givdecrypt; in cryptd_create_aead()
770 crypto_mod_put(alg); in cryptd_create_aead()
802 switch (inst->alg.cra_flags & CRYPTO_ALG_TYPE_MASK) { in cryptd_free()