Lines Matching refs:req
595 struct lrw_crypt_req req = { in lrw_encrypt() local
608 ret = lrw_crypt(desc, dst, src, nbytes, &req); in lrw_encrypt()
619 struct lrw_crypt_req req = { in lrw_decrypt() local
632 ret = lrw_crypt(desc, dst, src, nbytes, &req); in lrw_decrypt()
746 struct xts_crypt_req req = { in xts_encrypt() local
760 ret = xts_crypt(desc, dst, src, nbytes, &req); in xts_encrypt()
771 struct xts_crypt_req req = { in xts_decrypt() local
785 ret = xts_crypt(desc, dst, src, nbytes, &req); in xts_decrypt()
818 rfc4106_set_hash_subkey_done(struct crypto_async_request *req, int err) in rfc4106_set_hash_subkey_done() argument
820 struct aesni_gcm_set_hash_subkey_result *result = req->data; in rfc4106_set_hash_subkey_done()
832 struct ablkcipher_request *req; in rfc4106_set_hash_subkey() local
845 req = ablkcipher_request_alloc(ctr_tfm, GFP_KERNEL); in rfc4106_set_hash_subkey()
846 if (!req) in rfc4106_set_hash_subkey()
861 ablkcipher_request_set_tfm(req, ctr_tfm); in rfc4106_set_hash_subkey()
862 ablkcipher_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP | in rfc4106_set_hash_subkey()
867 ablkcipher_request_set_crypt(req, &req_data->sg, in rfc4106_set_hash_subkey()
870 ret = crypto_ablkcipher_encrypt(req); in rfc4106_set_hash_subkey()
879 ablkcipher_request_free(req); in rfc4106_set_hash_subkey()
939 static int helper_rfc4106_encrypt(struct aead_request *req) in helper_rfc4106_encrypt() argument
944 struct crypto_aead *tfm = crypto_aead_reqtfm(req); in helper_rfc4106_encrypt()
956 if (unlikely(req->assoclen != 16 && req->assoclen != 20)) in helper_rfc4106_encrypt()
963 *(iv+4+i) = req->iv[i]; in helper_rfc4106_encrypt()
966 if (sg_is_last(req->src) && in helper_rfc4106_encrypt()
967 req->src->offset + req->src->length <= PAGE_SIZE && in helper_rfc4106_encrypt()
968 sg_is_last(req->dst) && in helper_rfc4106_encrypt()
969 req->dst->offset + req->dst->length <= PAGE_SIZE) { in helper_rfc4106_encrypt()
971 scatterwalk_start(&src_sg_walk, req->src); in helper_rfc4106_encrypt()
973 src = assoc + req->assoclen; in helper_rfc4106_encrypt()
975 if (unlikely(req->src != req->dst)) { in helper_rfc4106_encrypt()
976 scatterwalk_start(&dst_sg_walk, req->dst); in helper_rfc4106_encrypt()
977 dst = scatterwalk_map(&dst_sg_walk) + req->assoclen; in helper_rfc4106_encrypt()
981 assoc = kmalloc(req->cryptlen + auth_tag_len + req->assoclen, in helper_rfc4106_encrypt()
985 scatterwalk_map_and_copy(assoc, req->src, 0, in helper_rfc4106_encrypt()
986 req->assoclen + req->cryptlen, 0); in helper_rfc4106_encrypt()
987 src = assoc + req->assoclen; in helper_rfc4106_encrypt()
992 aesni_gcm_enc_tfm(aes_ctx, dst, src, req->cryptlen, iv, in helper_rfc4106_encrypt()
993 ctx->hash_subkey, assoc, req->assoclen - 8, in helper_rfc4106_encrypt()
994 dst + req->cryptlen, auth_tag_len); in helper_rfc4106_encrypt()
1000 if (unlikely(req->src != req->dst)) { in helper_rfc4106_encrypt()
1001 scatterwalk_unmap(dst - req->assoclen); in helper_rfc4106_encrypt()
1002 scatterwalk_advance(&dst_sg_walk, req->dst->length); in helper_rfc4106_encrypt()
1006 scatterwalk_advance(&src_sg_walk, req->src->length); in helper_rfc4106_encrypt()
1007 scatterwalk_done(&src_sg_walk, req->src == req->dst, 0); in helper_rfc4106_encrypt()
1009 scatterwalk_map_and_copy(dst, req->dst, req->assoclen, in helper_rfc4106_encrypt()
1010 req->cryptlen + auth_tag_len, 1); in helper_rfc4106_encrypt()
1016 static int helper_rfc4106_decrypt(struct aead_request *req) in helper_rfc4106_decrypt() argument
1023 struct crypto_aead *tfm = crypto_aead_reqtfm(req); in helper_rfc4106_decrypt()
1033 if (unlikely(req->assoclen != 16 && req->assoclen != 20)) in helper_rfc4106_decrypt()
1040 tempCipherLen = (unsigned long)(req->cryptlen - auth_tag_len); in helper_rfc4106_decrypt()
1045 *(iv+4+i) = req->iv[i]; in helper_rfc4106_decrypt()
1048 if (sg_is_last(req->src) && in helper_rfc4106_decrypt()
1049 req->src->offset + req->src->length <= PAGE_SIZE && in helper_rfc4106_decrypt()
1050 sg_is_last(req->dst) && in helper_rfc4106_decrypt()
1051 req->dst->offset + req->dst->length <= PAGE_SIZE) { in helper_rfc4106_decrypt()
1053 scatterwalk_start(&src_sg_walk, req->src); in helper_rfc4106_decrypt()
1055 src = assoc + req->assoclen; in helper_rfc4106_decrypt()
1057 if (unlikely(req->src != req->dst)) { in helper_rfc4106_decrypt()
1058 scatterwalk_start(&dst_sg_walk, req->dst); in helper_rfc4106_decrypt()
1059 dst = scatterwalk_map(&dst_sg_walk) + req->assoclen; in helper_rfc4106_decrypt()
1064 assoc = kmalloc(req->cryptlen + req->assoclen, GFP_ATOMIC); in helper_rfc4106_decrypt()
1067 scatterwalk_map_and_copy(assoc, req->src, 0, in helper_rfc4106_decrypt()
1068 req->assoclen + req->cryptlen, 0); in helper_rfc4106_decrypt()
1069 src = assoc + req->assoclen; in helper_rfc4106_decrypt()
1075 ctx->hash_subkey, assoc, req->assoclen - 8, in helper_rfc4106_decrypt()
1084 if (unlikely(req->src != req->dst)) { in helper_rfc4106_decrypt()
1085 scatterwalk_unmap(dst - req->assoclen); in helper_rfc4106_decrypt()
1086 scatterwalk_advance(&dst_sg_walk, req->dst->length); in helper_rfc4106_decrypt()
1090 scatterwalk_advance(&src_sg_walk, req->src->length); in helper_rfc4106_decrypt()
1091 scatterwalk_done(&src_sg_walk, req->src == req->dst, 0); in helper_rfc4106_decrypt()
1093 scatterwalk_map_and_copy(dst, req->dst, req->assoclen, in helper_rfc4106_decrypt()
1100 static int rfc4106_encrypt(struct aead_request *req) in rfc4106_encrypt() argument
1102 struct crypto_aead *tfm = crypto_aead_reqtfm(req); in rfc4106_encrypt()
1106 aead_request_set_tfm(req, irq_fpu_usable() ? in rfc4106_encrypt()
1110 return crypto_aead_encrypt(req); in rfc4106_encrypt()
1113 static int rfc4106_decrypt(struct aead_request *req) in rfc4106_decrypt() argument
1115 struct crypto_aead *tfm = crypto_aead_reqtfm(req); in rfc4106_decrypt()
1119 aead_request_set_tfm(req, irq_fpu_usable() ? in rfc4106_decrypt()
1123 return crypto_aead_decrypt(req); in rfc4106_decrypt()