Lines Matching refs:req
167 static int ecb_encrypt(struct skcipher_request *req) in ecb_encrypt() argument
169 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in ecb_encrypt()
175 err = skcipher_walk_virt(&walk, req, false); in ecb_encrypt()
187 static int ecb_decrypt(struct skcipher_request *req) in ecb_decrypt() argument
189 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in ecb_decrypt()
195 err = skcipher_walk_virt(&walk, req, false); in ecb_decrypt()
207 static int cbc_encrypt_walk(struct skcipher_request *req, in cbc_encrypt_walk() argument
210 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cbc_encrypt_walk()
226 static int cbc_encrypt(struct skcipher_request *req) in cbc_encrypt() argument
231 err = skcipher_walk_virt(&walk, req, false); in cbc_encrypt()
234 return cbc_encrypt_walk(req, &walk); in cbc_encrypt()
237 static int cbc_decrypt_walk(struct skcipher_request *req, in cbc_decrypt_walk() argument
240 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cbc_decrypt_walk()
256 static int cbc_decrypt(struct skcipher_request *req) in cbc_decrypt() argument
261 err = skcipher_walk_virt(&walk, req, false); in cbc_decrypt()
264 return cbc_decrypt_walk(req, &walk); in cbc_decrypt()
267 static int cts_cbc_encrypt(struct skcipher_request *req) in cts_cbc_encrypt() argument
269 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cts_cbc_encrypt()
271 int cbc_blocks = DIV_ROUND_UP(req->cryptlen, AES_BLOCK_SIZE) - 2; in cts_cbc_encrypt()
272 struct scatterlist *src = req->src, *dst = req->dst; in cts_cbc_encrypt()
279 skcipher_request_set_callback(&subreq, skcipher_request_flags(req), in cts_cbc_encrypt()
282 if (req->cryptlen <= AES_BLOCK_SIZE) { in cts_cbc_encrypt()
283 if (req->cryptlen < AES_BLOCK_SIZE) in cts_cbc_encrypt()
289 skcipher_request_set_crypt(&subreq, req->src, req->dst, in cts_cbc_encrypt()
291 req->iv); in cts_cbc_encrypt()
298 if (req->cryptlen == AES_BLOCK_SIZE) in cts_cbc_encrypt()
301 dst = src = scatterwalk_ffwd(sg_src, req->src, subreq.cryptlen); in cts_cbc_encrypt()
302 if (req->dst != req->src) in cts_cbc_encrypt()
303 dst = scatterwalk_ffwd(sg_dst, req->dst, in cts_cbc_encrypt()
309 req->cryptlen - cbc_blocks * AES_BLOCK_SIZE, in cts_cbc_encrypt()
310 req->iv); in cts_cbc_encrypt()
325 static int cts_cbc_decrypt(struct skcipher_request *req) in cts_cbc_decrypt() argument
327 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in cts_cbc_decrypt()
329 int cbc_blocks = DIV_ROUND_UP(req->cryptlen, AES_BLOCK_SIZE) - 2; in cts_cbc_decrypt()
330 struct scatterlist *src = req->src, *dst = req->dst; in cts_cbc_decrypt()
337 skcipher_request_set_callback(&subreq, skcipher_request_flags(req), in cts_cbc_decrypt()
340 if (req->cryptlen <= AES_BLOCK_SIZE) { in cts_cbc_decrypt()
341 if (req->cryptlen < AES_BLOCK_SIZE) in cts_cbc_decrypt()
347 skcipher_request_set_crypt(&subreq, req->src, req->dst, in cts_cbc_decrypt()
349 req->iv); in cts_cbc_decrypt()
356 if (req->cryptlen == AES_BLOCK_SIZE) in cts_cbc_decrypt()
359 dst = src = scatterwalk_ffwd(sg_src, req->src, subreq.cryptlen); in cts_cbc_decrypt()
360 if (req->dst != req->src) in cts_cbc_decrypt()
361 dst = scatterwalk_ffwd(sg_dst, req->dst, in cts_cbc_decrypt()
367 req->cryptlen - cbc_blocks * AES_BLOCK_SIZE, in cts_cbc_decrypt()
368 req->iv); in cts_cbc_decrypt()
383 static int ctr_encrypt(struct skcipher_request *req) in ctr_encrypt() argument
385 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in ctr_encrypt()
390 err = skcipher_walk_virt(&walk, req, false); in ctr_encrypt()
436 static int ctr_encrypt_sync(struct skcipher_request *req) in ctr_encrypt_sync() argument
439 return crypto_ctr_encrypt_walk(req, ctr_encrypt_one); in ctr_encrypt_sync()
441 return ctr_encrypt(req); in ctr_encrypt_sync()
444 static int xts_encrypt(struct skcipher_request *req) in xts_encrypt() argument
446 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in xts_encrypt()
449 int tail = req->cryptlen % AES_BLOCK_SIZE; in xts_encrypt()
455 if (req->cryptlen < AES_BLOCK_SIZE) in xts_encrypt()
458 err = skcipher_walk_virt(&walk, req, false); in xts_encrypt()
461 int xts_blocks = DIV_ROUND_UP(req->cryptlen, in xts_encrypt()
468 skcipher_request_flags(req), in xts_encrypt()
470 skcipher_request_set_crypt(&subreq, req->src, req->dst, in xts_encrypt()
472 req->iv); in xts_encrypt()
473 req = &subreq; in xts_encrypt()
474 err = skcipher_walk_virt(&walk, req, false); in xts_encrypt()
496 dst = src = scatterwalk_ffwd(sg_src, req->src, req->cryptlen); in xts_encrypt()
497 if (req->dst != req->src) in xts_encrypt()
498 dst = scatterwalk_ffwd(sg_dst, req->dst, req->cryptlen); in xts_encrypt()
500 skcipher_request_set_crypt(req, src, dst, AES_BLOCK_SIZE + tail, in xts_encrypt()
501 req->iv); in xts_encrypt()
503 err = skcipher_walk_virt(&walk, req, false); in xts_encrypt()
516 static int xts_decrypt(struct skcipher_request *req) in xts_decrypt() argument
518 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); in xts_decrypt()
521 int tail = req->cryptlen % AES_BLOCK_SIZE; in xts_decrypt()
527 if (req->cryptlen < AES_BLOCK_SIZE) in xts_decrypt()
530 err = skcipher_walk_virt(&walk, req, false); in xts_decrypt()
533 int xts_blocks = DIV_ROUND_UP(req->cryptlen, in xts_decrypt()
540 skcipher_request_flags(req), in xts_decrypt()
542 skcipher_request_set_crypt(&subreq, req->src, req->dst, in xts_decrypt()
544 req->iv); in xts_decrypt()
545 req = &subreq; in xts_decrypt()
546 err = skcipher_walk_virt(&walk, req, false); in xts_decrypt()
568 dst = src = scatterwalk_ffwd(sg_src, req->src, req->cryptlen); in xts_decrypt()
569 if (req->dst != req->src) in xts_decrypt()
570 dst = scatterwalk_ffwd(sg_dst, req->dst, req->cryptlen); in xts_decrypt()
572 skcipher_request_set_crypt(req, src, dst, AES_BLOCK_SIZE + tail, in xts_decrypt()
573 req->iv); in xts_decrypt()
575 err = skcipher_walk_virt(&walk, req, false); in xts_decrypt()