Lines Matching refs:req

346 	struct aead_request *req = crypt->data.aead_req;
347 struct aead_ctx *req_ctx = aead_request_ctx(req);
348 struct crypto_aead *tfm = crypto_aead_reqtfm(req);
350 int decryptlen = req->assoclen + req->cryptlen - authsize;
354 req->dst, decryptlen, authsize, 1);
372 struct aead_request *req = crypt->data.aead_req;
373 struct aead_ctx *req_ctx = aead_request_ctx(req);
380 req->base.complete(&req->base, failed);
384 struct skcipher_request *req = crypt->data.ablk_req;
385 struct ablk_ctx *req_ctx = skcipher_request_ctx(req);
386 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
391 offset = req->cryptlen - ivsize;
393 scatterwalk_map_and_copy(req->iv, req->dst,
396 memcpy(req->iv, req_ctx->iv, ivsize);
405 req->base.complete(&req->base, failed);
883 static int ablk_perform(struct skcipher_request *req, int encrypt)
885 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
890 unsigned int nbytes = req->cryptlen;
892 struct ablk_ctx *req_ctx = skcipher_request_ctx(req);
896 gfp_t flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ?
911 crypt->data.ablk_req = req;
919 BUG_ON(ivsize && !req->iv);
920 memcpy(crypt->iv, req->iv, ivsize);
922 offset = req->cryptlen - ivsize;
923 scatterwalk_map_and_copy(req_ctx->iv, req->src, offset, ivsize, 0);
925 if (req->src != req->dst) {
931 if (!chainup_buffers(dev, req->dst, nbytes, &dst_hook,
941 if (!chainup_buffers(dev, req->src, nbytes, &src_hook,
955 if (req->src != req->dst) {
962 static int ablk_encrypt(struct skcipher_request *req)
964 return ablk_perform(req, 1);
967 static int ablk_decrypt(struct skcipher_request *req)
969 return ablk_perform(req, 0);
972 static int ablk_rfc3686_crypt(struct skcipher_request *req)
974 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
977 u8 *info = req->iv;
988 req->iv = iv;
989 ret = ablk_perform(req, 1);
990 req->iv = info;
994 static int aead_perform(struct aead_request *req, int encrypt,
997 struct crypto_aead *tfm = crypto_aead_reqtfm(req);
1005 struct aead_ctx *req_ctx = aead_request_ctx(req);
1007 gfp_t flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ?
1019 cryptlen = req->cryptlen;
1022 /* req->cryptlen includes the authsize when decrypting */
1023 cryptlen = req->cryptlen -authsize;
1030 crypt->data.aead_req = req;
1039 crypt->auth_len = req->assoclen + cryptlen;
1040 BUG_ON(ivsize && !req->iv);
1041 memcpy(crypt->iv, req->iv, ivsize);
1043 buf = chainup_buffers(dev, req->src, crypt->auth_len,
1057 if (req->src != req->dst) {
1063 buf = chainup_buffers(dev, req->dst, crypt->auth_len,
1088 req->src, cryptlen, authsize, 0);
1207 static int aead_encrypt(struct aead_request *req)
1209 return aead_perform(req, 1, req->assoclen, req->cryptlen, req->iv);
1212 static int aead_decrypt(struct aead_request *req)
1214 return aead_perform(req, 0, req->assoclen, req->cryptlen, req->iv);