Lines Matching refs:alg
82 static unsigned int crypto_aead_ctxsize(struct crypto_alg *alg, u32 type, in crypto_aead_ctxsize() argument
85 return alg->cra_ctxsize; in crypto_aead_ctxsize()
95 struct aead_alg *alg = &tfm->__crt_alg->cra_aead; in crypto_init_aead_ops() local
98 if (max(alg->maxauthsize, alg->ivsize) > PAGE_SIZE / 8) in crypto_init_aead_ops()
102 alg->setkey : setkey; in crypto_init_aead_ops()
103 crt->encrypt = alg->encrypt; in crypto_init_aead_ops()
104 crt->decrypt = alg->decrypt; in crypto_init_aead_ops()
105 crt->givencrypt = alg->givencrypt ?: no_givcrypt; in crypto_init_aead_ops()
106 crt->givdecrypt = alg->givdecrypt ?: no_givcrypt; in crypto_init_aead_ops()
108 crt->ivsize = alg->ivsize; in crypto_init_aead_ops()
109 crt->authsize = alg->maxauthsize; in crypto_init_aead_ops()
115 static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg) in crypto_aead_report() argument
118 struct aead_alg *aead = &alg->cra_aead; in crypto_aead_report()
123 raead.blocksize = alg->cra_blocksize; in crypto_aead_report()
136 static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg) in crypto_aead_report() argument
142 static void crypto_aead_show(struct seq_file *m, struct crypto_alg *alg)
144 static void crypto_aead_show(struct seq_file *m, struct crypto_alg *alg) in crypto_aead_show() argument
146 struct aead_alg *aead = &alg->cra_aead; in crypto_aead_show()
149 seq_printf(m, "async : %s\n", alg->cra_flags & CRYPTO_ALG_ASYNC ? in crypto_aead_show()
151 seq_printf(m, "blocksize : %u\n", alg->cra_blocksize); in crypto_aead_show()
179 struct aead_alg *alg = &tfm->__crt_alg->cra_aead; in crypto_init_nivaead_ops() local
182 if (max(alg->maxauthsize, alg->ivsize) > PAGE_SIZE / 8) in crypto_init_nivaead_ops()
186 crt->encrypt = alg->encrypt; in crypto_init_nivaead_ops()
187 crt->decrypt = alg->decrypt; in crypto_init_nivaead_ops()
188 if (!alg->ivsize) { in crypto_init_nivaead_ops()
193 crt->ivsize = alg->ivsize; in crypto_init_nivaead_ops()
194 crt->authsize = alg->maxauthsize; in crypto_init_nivaead_ops()
200 static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg) in crypto_nivaead_report() argument
203 struct aead_alg *aead = &alg->cra_aead; in crypto_nivaead_report()
208 raead.blocksize = alg->cra_blocksize; in crypto_nivaead_report()
221 static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg) in crypto_nivaead_report() argument
228 static void crypto_nivaead_show(struct seq_file *m, struct crypto_alg *alg)
230 static void crypto_nivaead_show(struct seq_file *m, struct crypto_alg *alg) in crypto_nivaead_show() argument
232 struct aead_alg *aead = &alg->cra_aead; in crypto_nivaead_show()
235 seq_printf(m, "async : %s\n", alg->cra_flags & CRYPTO_ALG_ASYNC ? in crypto_nivaead_show()
237 seq_printf(m, "blocksize : %u\n", alg->cra_blocksize); in crypto_nivaead_show()
256 struct crypto_alg *alg; in crypto_grab_nivaead() local
263 alg = crypto_alg_mod_lookup(name, type, mask); in crypto_grab_nivaead()
264 if (IS_ERR(alg)) in crypto_grab_nivaead()
265 return PTR_ERR(alg); in crypto_grab_nivaead()
267 err = crypto_init_spawn(&spawn->base, alg, spawn->base.inst, mask); in crypto_grab_nivaead()
268 crypto_mod_put(alg); in crypto_grab_nivaead()
280 struct crypto_alg *alg; in aead_geniv_alloc() local
309 alg = crypto_aead_spawn_alg(spawn); in aead_geniv_alloc()
312 if (!alg->cra_aead.ivsize) in aead_geniv_alloc()
321 if (strcmp(tmpl->name, alg->cra_aead.geniv)) in aead_geniv_alloc()
324 memcpy(inst->alg.cra_name, alg->cra_name, CRYPTO_MAX_ALG_NAME); in aead_geniv_alloc()
325 memcpy(inst->alg.cra_driver_name, alg->cra_driver_name, in aead_geniv_alloc()
329 if (snprintf(inst->alg.cra_name, CRYPTO_MAX_ALG_NAME, in aead_geniv_alloc()
330 "%s(%s)", tmpl->name, alg->cra_name) >= in aead_geniv_alloc()
333 if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, in aead_geniv_alloc()
334 "%s(%s)", tmpl->name, alg->cra_driver_name) >= in aead_geniv_alloc()
339 inst->alg.cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_GENIV; in aead_geniv_alloc()
340 inst->alg.cra_flags |= alg->cra_flags & CRYPTO_ALG_ASYNC; in aead_geniv_alloc()
341 inst->alg.cra_priority = alg->cra_priority; in aead_geniv_alloc()
342 inst->alg.cra_blocksize = alg->cra_blocksize; in aead_geniv_alloc()
343 inst->alg.cra_alignmask = alg->cra_alignmask; in aead_geniv_alloc()
344 inst->alg.cra_type = &crypto_aead_type; in aead_geniv_alloc()
346 inst->alg.cra_aead.ivsize = alg->cra_aead.ivsize; in aead_geniv_alloc()
347 inst->alg.cra_aead.maxauthsize = alg->cra_aead.maxauthsize; in aead_geniv_alloc()
348 inst->alg.cra_aead.geniv = alg->cra_aead.geniv; in aead_geniv_alloc()
350 inst->alg.cra_aead.setkey = alg->cra_aead.setkey; in aead_geniv_alloc()
351 inst->alg.cra_aead.setauthsize = alg->cra_aead.setauthsize; in aead_geniv_alloc()
352 inst->alg.cra_aead.encrypt = alg->cra_aead.encrypt; in aead_geniv_alloc()
353 inst->alg.cra_aead.decrypt = alg->cra_aead.decrypt; in aead_geniv_alloc()
396 static int crypto_nivaead_default(struct crypto_alg *alg, u32 type, u32 mask) in crypto_nivaead_default() argument
413 larval = crypto_larval_lookup(alg->cra_driver_name, in crypto_nivaead_default()
434 memcpy(palg.data.name, alg->cra_driver_name, CRYPTO_MAX_ALG_NAME); in crypto_nivaead_default()
439 geniv = alg->cra_aead.geniv; in crypto_nivaead_default()
467 crypto_mod_put(alg); in crypto_nivaead_default()
473 struct crypto_alg *alg; in crypto_lookup_aead() local
475 alg = crypto_alg_mod_lookup(name, type, mask); in crypto_lookup_aead()
476 if (IS_ERR(alg)) in crypto_lookup_aead()
477 return alg; in crypto_lookup_aead()
479 if (alg->cra_type == &crypto_aead_type) in crypto_lookup_aead()
480 return alg; in crypto_lookup_aead()
482 if (!alg->cra_aead.ivsize) in crypto_lookup_aead()
483 return alg; in crypto_lookup_aead()
485 crypto_mod_put(alg); in crypto_lookup_aead()
486 alg = crypto_alg_mod_lookup(name, type | CRYPTO_ALG_TESTED, in crypto_lookup_aead()
488 if (IS_ERR(alg)) in crypto_lookup_aead()
489 return alg; in crypto_lookup_aead()
491 if (alg->cra_type == &crypto_aead_type) { in crypto_lookup_aead()
492 if ((alg->cra_flags ^ type ^ ~mask) & CRYPTO_ALG_TESTED) { in crypto_lookup_aead()
493 crypto_mod_put(alg); in crypto_lookup_aead()
494 alg = ERR_PTR(-ENOENT); in crypto_lookup_aead()
496 return alg; in crypto_lookup_aead()
499 BUG_ON(!alg->cra_aead.ivsize); in crypto_lookup_aead()
501 return ERR_PTR(crypto_nivaead_default(alg, type, mask)); in crypto_lookup_aead()
508 struct crypto_alg *alg; in crypto_grab_aead() local
516 alg = crypto_lookup_aead(name, type, mask); in crypto_grab_aead()
517 if (IS_ERR(alg)) in crypto_grab_aead()
518 return PTR_ERR(alg); in crypto_grab_aead()
520 err = crypto_init_spawn(&spawn->base, alg, spawn->base.inst, mask); in crypto_grab_aead()
521 crypto_mod_put(alg); in crypto_grab_aead()
537 struct crypto_alg *alg; in crypto_alloc_aead() local
539 alg = crypto_lookup_aead(alg_name, type, mask); in crypto_alloc_aead()
540 if (IS_ERR(alg)) { in crypto_alloc_aead()
541 err = PTR_ERR(alg); in crypto_alloc_aead()
545 tfm = __crypto_alloc_tfm(alg, type, mask); in crypto_alloc_aead()
549 crypto_mod_put(alg); in crypto_alloc_aead()