Lines Matching refs:req
63 static inline u8 *crypto_cts_reqctx_space(struct skcipher_request *req) in crypto_cts_reqctx_space() argument
65 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req); in crypto_cts_reqctx_space()
66 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in crypto_cts_reqctx_space()
92 struct skcipher_request *req = areq->data; in cts_cbc_crypt_done() local
97 skcipher_request_complete(req, err); in cts_cbc_crypt_done()
100 static int cts_cbc_encrypt(struct skcipher_request *req) in cts_cbc_encrypt() argument
102 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req); in cts_cbc_encrypt()
103 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cts_cbc_encrypt()
112 lastn = req->cryptlen - offset; in cts_cbc_encrypt()
114 sg = scatterwalk_ffwd(rctx->sg, req->dst, offset - bsize); in cts_cbc_encrypt()
118 scatterwalk_map_and_copy(d, req->src, offset, lastn, 0); in cts_cbc_encrypt()
123 skcipher_request_set_callback(subreq, req->base.flags & in cts_cbc_encrypt()
125 cts_cbc_crypt_done, req); in cts_cbc_encrypt()
126 skcipher_request_set_crypt(subreq, sg, sg, bsize, req->iv); in cts_cbc_encrypt()
132 struct skcipher_request *req = areq->data; in crypto_cts_encrypt_done() local
137 err = cts_cbc_encrypt(req); in crypto_cts_encrypt_done()
139 (err == -EBUSY && req->base.flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) in crypto_cts_encrypt_done()
143 skcipher_request_complete(req, err); in crypto_cts_encrypt_done()
146 static int crypto_cts_encrypt(struct skcipher_request *req) in crypto_cts_encrypt() argument
148 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in crypto_cts_encrypt()
149 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req); in crypto_cts_encrypt()
153 unsigned int nbytes = req->cryptlen; in crypto_cts_encrypt()
160 skcipher_request_set_callback(subreq, req->base.flags, in crypto_cts_encrypt()
161 req->base.complete, in crypto_cts_encrypt()
162 req->base.data); in crypto_cts_encrypt()
163 skcipher_request_set_crypt(subreq, req->src, req->dst, nbytes, in crypto_cts_encrypt()
164 req->iv); in crypto_cts_encrypt()
171 skcipher_request_set_callback(subreq, req->base.flags, in crypto_cts_encrypt()
172 crypto_cts_encrypt_done, req); in crypto_cts_encrypt()
173 skcipher_request_set_crypt(subreq, req->src, req->dst, in crypto_cts_encrypt()
174 offset, req->iv); in crypto_cts_encrypt()
177 cts_cbc_encrypt(req); in crypto_cts_encrypt()
180 static int cts_cbc_decrypt(struct skcipher_request *req) in cts_cbc_decrypt() argument
182 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req); in cts_cbc_decrypt()
183 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cts_cbc_decrypt()
193 lastn = req->cryptlen - offset; in cts_cbc_decrypt()
195 sg = scatterwalk_ffwd(rctx->sg, req->dst, offset - bsize); in cts_cbc_decrypt()
199 space = crypto_cts_reqctx_space(req); in cts_cbc_decrypt()
203 scatterwalk_map_and_copy(d, req->src, offset, lastn, 0); in cts_cbc_decrypt()
215 skcipher_request_set_callback(subreq, req->base.flags & in cts_cbc_decrypt()
217 cts_cbc_crypt_done, req); in cts_cbc_decrypt()
225 struct skcipher_request *req = areq->data; in crypto_cts_decrypt_done() local
230 err = cts_cbc_decrypt(req); in crypto_cts_decrypt_done()
232 (err == -EBUSY && req->base.flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) in crypto_cts_decrypt_done()
236 skcipher_request_complete(req, err); in crypto_cts_decrypt_done()
239 static int crypto_cts_decrypt(struct skcipher_request *req) in crypto_cts_decrypt() argument
241 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in crypto_cts_decrypt()
242 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req); in crypto_cts_decrypt()
246 unsigned int nbytes = req->cryptlen; in crypto_cts_decrypt()
254 skcipher_request_set_callback(subreq, req->base.flags, in crypto_cts_decrypt()
255 req->base.complete, in crypto_cts_decrypt()
256 req->base.data); in crypto_cts_decrypt()
257 skcipher_request_set_crypt(subreq, req->src, req->dst, nbytes, in crypto_cts_decrypt()
258 req->iv); in crypto_cts_decrypt()
262 skcipher_request_set_callback(subreq, req->base.flags, in crypto_cts_decrypt()
263 crypto_cts_decrypt_done, req); in crypto_cts_decrypt()
265 space = crypto_cts_reqctx_space(req); in crypto_cts_decrypt()
271 memcpy(space, req->iv, bsize); in crypto_cts_decrypt()
273 scatterwalk_map_and_copy(space, req->src, offset - 2 * bsize, in crypto_cts_decrypt()
276 skcipher_request_set_crypt(subreq, req->src, req->dst, in crypto_cts_decrypt()
277 offset, req->iv); in crypto_cts_decrypt()
280 cts_cbc_decrypt(req); in crypto_cts_decrypt()