Lines Matching defs:areq

193 	struct aead_request *areq = arg;
194 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
203 areq->base.complete(&areq->base, err);
214 static int nitrox_aes_gcm_enc(struct aead_request *areq)
216 struct crypto_aead *aead = crypto_aead_reqtfm(areq);
218 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
223 if (!nitrox_aes_gcm_assoclen_supported(areq->assoclen))
226 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE);
228 rctx->cryptlen = areq->cryptlen;
229 rctx->assoclen = areq->assoclen;
230 rctx->srclen = areq->assoclen + areq->cryptlen;
232 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
234 rctx->flags = areq->base.flags;
236 rctx->src = areq->src;
237 rctx->dst = areq->dst;
245 areq);
248 static int nitrox_aes_gcm_dec(struct aead_request *areq)
250 struct crypto_aead *aead = crypto_aead_reqtfm(areq);
252 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq);
257 if (!nitrox_aes_gcm_assoclen_supported(areq->assoclen))
260 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE);
262 rctx->cryptlen = areq->cryptlen - aead->authsize;
263 rctx->assoclen = areq->assoclen;
264 rctx->srclen = areq->cryptlen + areq->assoclen;
266 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE];
268 rctx->flags = areq->base.flags;
270 rctx->src = areq->src;
271 rctx->dst = areq->dst;
279 areq);
394 static int nitrox_rfc4106_set_aead_rctx_sglist(struct aead_request *areq)
396 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
398 unsigned int assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE;
401 if (areq->assoclen != 16 && areq->assoclen != 20)
404 scatterwalk_map_and_copy(rctx->assoc, areq->src, 0, assoclen, 0);
407 sg = scatterwalk_ffwd(rctx->src + 1, areq->src, areq->assoclen);
411 if (areq->src != areq->dst) {
414 sg = scatterwalk_ffwd(rctx->dst + 1, areq->dst, areq->assoclen);
420 aead_rctx->dst = (areq->src == areq->dst) ? rctx->src : rctx->dst;
427 struct aead_request *areq = arg;
428 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
438 areq->base.complete(&areq->base, err);
441 static int nitrox_rfc4106_enc(struct aead_request *areq)
443 struct crypto_aead *aead = crypto_aead_reqtfm(areq);
445 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
450 aead_rctx->cryptlen = areq->cryptlen;
451 aead_rctx->assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE;
454 aead_rctx->iv = areq->iv;
456 aead_rctx->flags = areq->base.flags;
460 ret = nitrox_rfc4106_set_aead_rctx_sglist(areq);
470 nitrox_rfc4106_callback, areq);
473 static int nitrox_rfc4106_dec(struct aead_request *areq)
475 struct crypto_aead *aead = crypto_aead_reqtfm(areq);
477 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq);
482 aead_rctx->cryptlen = areq->cryptlen - aead->authsize;
483 aead_rctx->assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE;
485 areq->cryptlen - GCM_RFC4106_IV_SIZE + areq->assoclen;
487 aead_rctx->iv = areq->iv;
489 aead_rctx->flags = areq->base.flags;
493 ret = nitrox_rfc4106_set_aead_rctx_sglist(areq);
503 nitrox_rfc4106_callback, areq);