summaryrefslogtreecommitdiffstats
path: root/docs/submodules/kvmfornfv
AgeCommit message (Expand)AuthorFilesLines
2017-12-12Update git submodulesNavya1-0/+0
2017-12-01Update git submodulesNavya1-0/+0
2017-10-13Update git submodulesroot1-0/+0
2017-09-26Update git submodulesshravani paladugula1-0/+0
2017-09-26Update git submodulesshravani paladugula1-0/+0
2017-09-26Update git submodulesNavya1-0/+0
2017-09-19Update git submodulesdavidjchou1-0/+0
2017-08-11Update git submoduleskalyanreddy1-0/+0
2017-08-11Update git submodulesJiang, Yunhong1-0/+0
2017-08-11Update git submodulesJiang, Yunhong1-0/+0
2017-08-09Update git submodulesJiang, Yunhong1-0/+0
2017-08-04Update git submodulesJiang, Yunhong1-0/+0
2017-07-20Update git submoduleskalyanreddy1-0/+0
2017-05-31Update git submodulesJiang, Yunhong1-0/+0
2017-05-31Update git submodulesJiang, Yunhong1-0/+0
2017-05-23Update git submodulesJiang, Yunhong1-0/+0
2017-05-23Update git submodulesJiang, Yunhong1-0/+0
2017-05-18Update git submodulesJiang, Yunhong1-0/+0
2017-05-18Update git submoduleskalyanreddy1-0/+0
2017-05-16Update git submodulesJiang, Yunhong1-0/+0
2017-05-16Update git submodulesdavidjchou1-0/+0
2017-05-15Update git submodulesJiang, Yunhong1-0/+0
2017-05-12Update git submodulesJiang, Yunhong1-0/+0
2017-05-11Update git submodulesDavid Chou1-0/+0
2017-05-03Update git submodulesJiang, Yunhong1-0/+0
2017-05-01Update git submodulesYunhong Jiang1-0/+0
2017-04-27Update git submodulesDavid Chou1-0/+0
2017-04-27Update git submodulesJiang, Yunhong1-0/+0
2017-04-26Update git submodulesdavidjchou1-0/+0
2017-04-24Update git submodulesJiang, Yunhong1-0/+0
2017-04-17Update git submodulesJiang, Yunhong1-0/+0
2017-04-17Update git submodulesJiang, Yunhong1-0/+0
2017-04-17Update git submodulesYunhong Jiang1-0/+0
2017-04-14Update git submoduleskalyanreddy1-0/+0
2017-04-11Update git submodulesMichael Polenchuk1-0/+0
2017-04-10Update git submodulesJiang, Yunhong1-0/+0
2017-04-06Update git submodulesJiang, Yunhong1-0/+0
2017-04-06Update git submoduleskalyanreddy1-0/+0
2017-04-06Update git submoduleskalyanreddy1-0/+0
2017-04-05Update git submoduleskalyanreddy1-0/+0
2017-04-05Update git submodulesJiang, Yunhong1-0/+0
2017-04-04Update git submodulesJiang, Yunhong1-0/+0
2017-03-30Update git submodulesMichael Polenchuk1-0/+0
2017-03-28Update git submoduleskalyanreddy1-0/+0
2017-03-28Update git submoduleskalyanreddy1-0/+0
2017-03-28Update git submoduleskalyanreddy1-0/+0
2017-03-24Update git submoduleskalyanreddy1-0/+0
2017-03-23Updating HEAD's of submodulesShubhamRathi1-0/+0
2017-03-15Updating submodules & add openretrieverShubhamRathi1-0/+0
2017-01-11Add submodules and .gitmoduleShubhamRathi1-0/+0
!= req->giv) eseqiv_complete2(req); out: return err; } static int eseqiv_init(struct crypto_tfm *tfm) { struct crypto_ablkcipher *geniv = __crypto_ablkcipher_cast(tfm); struct eseqiv_ctx *ctx = crypto_ablkcipher_ctx(geniv); unsigned long alignmask; unsigned int reqsize; int err; spin_lock_init(&ctx->lock); alignmask = crypto_tfm_ctx_alignment() - 1; reqsize = sizeof(struct eseqiv_request_ctx); if (alignmask & reqsize) { alignmask &= reqsize; alignmask--; } alignmask = ~alignmask; alignmask &= crypto_ablkcipher_alignmask(geniv); reqsize += alignmask; reqsize += crypto_ablkcipher_ivsize(geniv); reqsize = ALIGN(reqsize, crypto_tfm_ctx_alignment()); ctx->reqoff = reqsize - sizeof(struct eseqiv_request_ctx); tfm->crt_ablkcipher.reqsize = reqsize + sizeof(struct ablkcipher_request); err = 0; if (!crypto_get_default_rng()) { crypto_ablkcipher_crt(geniv)->givencrypt = eseqiv_givencrypt; err = crypto_rng_get_bytes(crypto_default_rng, ctx->salt, crypto_ablkcipher_ivsize(geniv)); crypto_put_default_rng(); } return err ?: skcipher_geniv_init(tfm); } static struct crypto_template eseqiv_tmpl; static struct crypto_instance *eseqiv_alloc(struct rtattr **tb) { struct crypto_instance *inst; int err; inst = skcipher_geniv_alloc(&eseqiv_tmpl, tb, 0, 0); if (IS_ERR(inst)) goto out; err = -EINVAL; if (inst->alg.cra_ablkcipher.ivsize != inst->alg.cra_blocksize) goto free_inst; inst->alg.cra_init = eseqiv_init; inst->alg.cra_exit = skcipher_geniv_exit; inst->alg.cra_ctxsize = sizeof(struct eseqiv_ctx); inst->alg.cra_ctxsize += inst->alg.cra_ablkcipher.ivsize; out: return inst; free_inst: skcipher_geniv_free(inst); inst = ERR_PTR(err); goto out; } static struct crypto_template eseqiv_tmpl = { .name = "eseqiv", .alloc = eseqiv_alloc, .free = skcipher_geniv_free, .module = THIS_MODULE, }; static int __init eseqiv_module_init(void) { return crypto_register_template(&eseqiv_tmpl); } static void __exit eseqiv_module_exit(void) { crypto_unregister_template(&eseqiv_tmpl); } module_init(eseqiv_module_init); module_exit(eseqiv_module_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator"); MODULE_ALIAS_CRYPTO("eseqiv");