• Home
  • Raw
  • Download

Lines Matching refs:req

28 static void seqiv_aead_encrypt_complete2(struct aead_request *req, int err)  in seqiv_aead_encrypt_complete2()  argument
30 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_encrypt_complete2()
39 geniv = crypto_aead_reqtfm(req); in seqiv_aead_encrypt_complete2()
40 memcpy(req->iv, subreq->iv, crypto_aead_ivsize(geniv)); in seqiv_aead_encrypt_complete2()
49 struct aead_request *req = base->data; in seqiv_aead_encrypt_complete() local
51 seqiv_aead_encrypt_complete2(req, err); in seqiv_aead_encrypt_complete()
52 aead_request_complete(req, err); in seqiv_aead_encrypt_complete()
55 static int seqiv_aead_encrypt(struct aead_request *req) in seqiv_aead_encrypt() argument
57 struct crypto_aead *geniv = crypto_aead_reqtfm(req); in seqiv_aead_encrypt()
59 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_encrypt()
66 if (req->cryptlen < ivsize) in seqiv_aead_encrypt()
71 compl = req->base.complete; in seqiv_aead_encrypt()
72 data = req->base.data; in seqiv_aead_encrypt()
73 info = req->iv; in seqiv_aead_encrypt()
75 if (req->src != req->dst) { in seqiv_aead_encrypt()
79 skcipher_request_set_callback(nreq, req->base.flags, in seqiv_aead_encrypt()
81 skcipher_request_set_crypt(nreq, req->src, req->dst, in seqiv_aead_encrypt()
82 req->assoclen + req->cryptlen, in seqiv_aead_encrypt()
92 info = kmalloc(ivsize, req->base.flags & in seqiv_aead_encrypt()
98 memcpy(info, req->iv, ivsize); in seqiv_aead_encrypt()
100 data = req; in seqiv_aead_encrypt()
103 aead_request_set_callback(subreq, req->base.flags, compl, data); in seqiv_aead_encrypt()
104 aead_request_set_crypt(subreq, req->dst, req->dst, in seqiv_aead_encrypt()
105 req->cryptlen - ivsize, info); in seqiv_aead_encrypt()
106 aead_request_set_ad(subreq, req->assoclen + ivsize); in seqiv_aead_encrypt()
109 scatterwalk_map_and_copy(info, req->dst, req->assoclen, ivsize, 1); in seqiv_aead_encrypt()
112 if (unlikely(info != req->iv)) in seqiv_aead_encrypt()
113 seqiv_aead_encrypt_complete2(req, err); in seqiv_aead_encrypt()
117 static int seqiv_aead_decrypt(struct aead_request *req) in seqiv_aead_decrypt() argument
119 struct crypto_aead *geniv = crypto_aead_reqtfm(req); in seqiv_aead_decrypt()
121 struct aead_request *subreq = aead_request_ctx(req); in seqiv_aead_decrypt()
126 if (req->cryptlen < ivsize + crypto_aead_authsize(geniv)) in seqiv_aead_decrypt()
131 compl = req->base.complete; in seqiv_aead_decrypt()
132 data = req->base.data; in seqiv_aead_decrypt()
134 aead_request_set_callback(subreq, req->base.flags, compl, data); in seqiv_aead_decrypt()
135 aead_request_set_crypt(subreq, req->src, req->dst, in seqiv_aead_decrypt()
136 req->cryptlen - ivsize, req->iv); in seqiv_aead_decrypt()
137 aead_request_set_ad(subreq, req->assoclen + ivsize); in seqiv_aead_decrypt()
139 scatterwalk_map_and_copy(req->iv, req->src, req->assoclen, ivsize, 0); in seqiv_aead_decrypt()