Lines Matching refs:req

60 static void echainiv_encrypt_complete2(struct aead_request *req, int err)  in echainiv_encrypt_complete2()  argument
62 struct aead_request *subreq = aead_request_ctx(req); in echainiv_encrypt_complete2()
72 geniv = crypto_aead_reqtfm(req); in echainiv_encrypt_complete2()
77 if (req->iv != subreq->iv) in echainiv_encrypt_complete2()
78 memcpy(req->iv, subreq->iv, ivsize); in echainiv_encrypt_complete2()
81 if (req->iv != subreq->iv) in echainiv_encrypt_complete2()
88 struct aead_request *req = base->data; in echainiv_encrypt_complete() local
90 echainiv_encrypt_complete2(req, err); in echainiv_encrypt_complete()
91 aead_request_complete(req, err); in echainiv_encrypt_complete()
94 static int echainiv_encrypt(struct aead_request *req) in echainiv_encrypt() argument
96 struct crypto_aead *geniv = crypto_aead_reqtfm(req); in echainiv_encrypt()
98 struct aead_request *subreq = aead_request_ctx(req); in echainiv_encrypt()
105 if (req->cryptlen < ivsize) in echainiv_encrypt()
111 data = req; in echainiv_encrypt()
112 info = req->iv; in echainiv_encrypt()
114 if (req->src != req->dst) { in echainiv_encrypt()
120 &desc, req->dst, req->src, in echainiv_encrypt()
121 req->assoclen + req->cryptlen); in echainiv_encrypt()
128 info = kmalloc(ivsize, req->base.flags & in echainiv_encrypt()
134 memcpy(info, req->iv, ivsize); in echainiv_encrypt()
137 aead_request_set_callback(subreq, req->base.flags, compl, data); in echainiv_encrypt()
138 aead_request_set_crypt(subreq, req->dst, req->dst, in echainiv_encrypt()
139 req->cryptlen, info); in echainiv_encrypt()
140 aead_request_set_ad(subreq, req->assoclen); in echainiv_encrypt()
143 scatterwalk_map_and_copy(info, req->dst, req->assoclen, ivsize, 1); in echainiv_encrypt()
147 echainiv_encrypt_complete2(req, err); in echainiv_encrypt()
151 static int echainiv_decrypt(struct aead_request *req) in echainiv_decrypt() argument
153 struct crypto_aead *geniv = crypto_aead_reqtfm(req); in echainiv_decrypt()
155 struct aead_request *subreq = aead_request_ctx(req); in echainiv_decrypt()
160 if (req->cryptlen < ivsize) in echainiv_decrypt()
165 compl = req->base.complete; in echainiv_decrypt()
166 data = req->base.data; in echainiv_decrypt()
168 aead_request_set_callback(subreq, req->base.flags, compl, data); in echainiv_decrypt()
169 aead_request_set_crypt(subreq, req->src, req->dst, in echainiv_decrypt()
170 req->cryptlen - ivsize, req->iv); in echainiv_decrypt()
171 aead_request_set_ad(subreq, req->assoclen + ivsize); in echainiv_decrypt()
173 scatterwalk_map_and_copy(req->iv, req->src, req->assoclen, ivsize, 0); in echainiv_decrypt()