Lines Matching refs:rctx

151 static int nitrox_set_creq(struct nitrox_aead_rctx *rctx)
153 struct se_crypto_request *creq = &rctx->nkreq.creq;
157 creq->flags = rctx->flags;
158 creq->gfp = (rctx->flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? GFP_KERNEL :
163 creq->ctrl.s.arg = rctx->ctrl_arg;
165 creq->gph.param0 = cpu_to_be16(rctx->cryptlen);
166 creq->gph.param1 = cpu_to_be16(rctx->cryptlen + rctx->assoclen);
167 creq->gph.param2 = cpu_to_be16(rctx->ivsize + rctx->assoclen);
169 param3.auth_offset = rctx->ivsize;
172 creq->ctx_handle = rctx->ctx_handle;
175 ret = alloc_src_sglist(&rctx->nkreq, rctx->src, rctx->iv, rctx->ivsize,
176 rctx->srclen);
180 ret = alloc_dst_sglist(&rctx->nkreq, rctx->dst, rctx->ivsize,
181 rctx->dstlen);
183 free_src_sglist(&rctx->nkreq);
193 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
195 free_src_sglist(&rctx->nkreq);
196 free_dst_sglist(&rctx->nkreq);
217 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
218 struct se_crypto_request *creq = &rctx->nkreq.creq;
227 rctx->cryptlen = areq->cryptlen;
228 rctx->assoclen = areq->assoclen;
229 rctx->srclen = areq->assoclen + areq->cryptlen;
230 rctx->dstlen = rctx->srclen + aead->authsize;
231 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
232 rctx->ivsize = GCM_AES_IV_SIZE - GCM_AES_SALT_SIZE;
233 rctx->flags = areq->base.flags;
234 rctx->ctx_handle = nctx->u.ctx_handle;
235 rctx->src = areq->src;
236 rctx->dst = areq->dst;
237 rctx->ctrl_arg = ENCRYPT;
238 ret = nitrox_set_creq(rctx);
251 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
252 struct se_crypto_request *creq = &rctx->nkreq.creq;
261 rctx->cryptlen = areq->cryptlen - aead->authsize;
262 rctx->assoclen = areq->assoclen;
263 rctx->srclen = areq->cryptlen + areq->assoclen;
264 rctx->dstlen = rctx->srclen - aead->authsize;
265 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
266 rctx->ivsize = GCM_AES_IV_SIZE - GCM_AES_SALT_SIZE;
267 rctx->flags = areq->base.flags;
268 rctx->ctx_handle = nctx->u.ctx_handle;
269 rctx->src = areq->src;
270 rctx->dst = areq->dst;
271 rctx->ctrl_arg = DECRYPT;
272 ret = nitrox_set_creq(rctx);
395 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq);
396 struct nitrox_aead_rctx *aead_rctx = &rctx->base;
403 scatterwalk_map_and_copy(rctx->assoc, areq->src, 0, assoclen, 0);
404 sg_init_table(rctx->src, 3);
405 sg_set_buf(rctx->src, rctx->assoc, assoclen);
406 sg = scatterwalk_ffwd(rctx->src + 1, areq->src, areq->assoclen);
407 if (sg != rctx->src + 1)
408 sg_chain(rctx->src, 2, sg);
411 sg_init_table(rctx->dst, 3);
412 sg_set_buf(rctx->dst, rctx->assoc, assoclen);
413 sg = scatterwalk_ffwd(rctx->dst + 1, areq->dst, areq->assoclen);
414 if (sg != rctx->dst + 1)
415 sg_chain(rctx->dst, 2, sg);
418 aead_rctx->src = rctx->src;
419 aead_rctx->dst = (areq->src == areq->dst) ? rctx->src : rctx->dst;
427 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq);
428 struct nitrox_kcrypt_request *nkreq = &rctx->base.nkreq;
444 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq);
445 struct nitrox_aead_rctx *aead_rctx = &rctx->base;
476 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
477 struct nitrox_aead_rctx *aead_rctx = &rctx->base;