Lines Matching defs:req
65 static inline u8 *crypto_cts_reqctx_space(struct skcipher_request *req)
67 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req);
68 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
90 struct skcipher_request *req = data;
95 skcipher_request_complete(req, err);
98 static int cts_cbc_encrypt(struct skcipher_request *req)
100 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req);
101 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
110 lastn = req->cryptlen - offset;
112 sg = scatterwalk_ffwd(rctx->sg, req->dst, offset - bsize);
116 scatterwalk_map_and_copy(d, req->src, offset, lastn, 0);
121 skcipher_request_set_callback(subreq, req->base.flags &
123 cts_cbc_crypt_done, req);
124 skcipher_request_set_crypt(subreq, sg, sg, bsize, req->iv);
130 struct skcipher_request *req = data;
135 err = cts_cbc_encrypt(req);
140 skcipher_request_complete(req, err);
143 static int crypto_cts_encrypt(struct skcipher_request *req)
145 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
146 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req);
150 unsigned int nbytes = req->cryptlen;
159 skcipher_request_set_callback(subreq, req->base.flags,
160 req->base.complete,
161 req->base.data);
162 skcipher_request_set_crypt(subreq, req->src, req->dst, nbytes,
163 req->iv);
170 skcipher_request_set_callback(subreq, req->base.flags,
171 crypto_cts_encrypt_done, req);
172 skcipher_request_set_crypt(subreq, req->src, req->dst,
173 offset, req->iv);
176 cts_cbc_encrypt(req);
179 static int cts_cbc_decrypt(struct skcipher_request *req)
181 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req);
182 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
192 lastn = req->cryptlen - offset;
194 sg = scatterwalk_ffwd(rctx->sg, req->dst, offset - bsize);
198 space = crypto_cts_reqctx_space(req);
202 scatterwalk_map_and_copy(d, req->src, offset, lastn, 0);
214 skcipher_request_set_callback(subreq, req->base.flags &
216 cts_cbc_crypt_done, req);
224 struct skcipher_request *req = data;
229 err = cts_cbc_decrypt(req);
234 skcipher_request_complete(req, err);
237 static int crypto_cts_decrypt(struct skcipher_request *req)
239 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
240 struct crypto_cts_reqctx *rctx = skcipher_request_ctx(req);
244 unsigned int nbytes = req->cryptlen;
254 skcipher_request_set_callback(subreq, req->base.flags,
255 req->base.complete,
256 req->base.data);
257 skcipher_request_set_crypt(subreq, req->src, req->dst, nbytes,
258 req->iv);
262 skcipher_request_set_callback(subreq, req->base.flags,
263 crypto_cts_decrypt_done, req);
265 space = crypto_cts_reqctx_space(req);
271 memcpy(space, req->iv, bsize);
273 scatterwalk_map_and_copy(space, req->src, offset - 2 * bsize,
276 skcipher_request_set_crypt(subreq, req->src, req->dst,
277 offset, req->iv);
280 cts_cbc_decrypt(req);