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