Lines Matching refs:rctx

152 static int nitrox_set_creq(struct nitrox_aead_rctx *rctx)
154 struct se_crypto_request *creq = &rctx->nkreq.creq;
158 creq->flags = rctx->flags;
159 creq->gfp = (rctx->flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? GFP_KERNEL :
164 creq->ctrl.s.arg = rctx->ctrl_arg;
166 creq->gph.param0 = cpu_to_be16(rctx->cryptlen);
167 creq->gph.param1 = cpu_to_be16(rctx->cryptlen + rctx->assoclen);
168 creq->gph.param2 = cpu_to_be16(rctx->ivsize + rctx->assoclen);
170 param3.auth_offset = rctx->ivsize;
173 creq->ctx_handle = rctx->ctx_handle;
176 ret = alloc_src_sglist(&rctx->nkreq, rctx->src, rctx->iv, rctx->ivsize,
177 rctx->srclen);
181 ret = alloc_dst_sglist(&rctx->nkreq, rctx->dst, rctx->ivsize,
182 rctx->dstlen);
184 free_src_sglist(&rctx->nkreq);
194 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
196 free_src_sglist(&rctx->nkreq);
197 free_dst_sglist(&rctx->nkreq);
218 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
219 struct se_crypto_request *creq = &rctx->nkreq.creq;
228 rctx->cryptlen = areq->cryptlen;
229 rctx->assoclen = areq->assoclen;
230 rctx->srclen = areq->assoclen + areq->cryptlen;
231 rctx->dstlen = rctx->srclen + aead->authsize;
232 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
233 rctx->ivsize = GCM_AES_IV_SIZE - GCM_AES_SALT_SIZE;
234 rctx->flags = areq->base.flags;
235 rctx->ctx_handle = nctx->u.ctx_handle;
236 rctx->src = areq->src;
237 rctx->dst = areq->dst;
238 rctx->ctrl_arg = ENCRYPT;
239 ret = nitrox_set_creq(rctx);
252 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
253 struct se_crypto_request *creq = &rctx->nkreq.creq;
262 rctx->cryptlen = areq->cryptlen - aead->authsize;
263 rctx->assoclen = areq->assoclen;
264 rctx->srclen = areq->cryptlen + areq->assoclen;
265 rctx->dstlen = rctx->srclen - aead->authsize;
266 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
267 rctx->ivsize = GCM_AES_IV_SIZE - GCM_AES_SALT_SIZE;
268 rctx->flags = areq->base.flags;
269 rctx->ctx_handle = nctx->u.ctx_handle;
270 rctx->src = areq->src;
271 rctx->dst = areq->dst;
272 rctx->ctrl_arg = DECRYPT;
273 ret = nitrox_set_creq(rctx);
396 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
397 struct nitrox_aead_rctx *aead_rctx = &rctx->base;
404 scatterwalk_map_and_copy(rctx->assoc, areq->src, 0, assoclen, 0);
405 sg_init_table(rctx->src, 3);
406 sg_set_buf(rctx->src, rctx->assoc, assoclen);
407 sg = scatterwalk_ffwd(rctx->src + 1, areq->src, areq->assoclen);
408 if (sg != rctx->src + 1)
409 sg_chain(rctx->src, 2, sg);
412 sg_init_table(rctx->dst, 3);
413 sg_set_buf(rctx->dst, rctx->assoc, assoclen);
414 sg = scatterwalk_ffwd(rctx->dst + 1, areq->dst, areq->assoclen);
415 if (sg != rctx->dst + 1)
416 sg_chain(rctx->dst, 2, sg);
419 aead_rctx->src = rctx->src;
420 aead_rctx->dst = (areq->src == areq->dst) ? rctx->src : rctx->dst;
428 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
429 struct nitrox_kcrypt_request *nkreq = &rctx->base.nkreq;
445 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
446 struct nitrox_aead_rctx *aead_rctx = &rctx->base;
477 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
478 struct nitrox_aead_rctx *aead_rctx = &rctx->base;