Lines Matching refs:areq
192 struct aead_request *areq = arg; in nitrox_aead_callback() local
193 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq); in nitrox_aead_callback()
202 aead_request_complete(areq, err); in nitrox_aead_callback()
213 static int nitrox_aes_gcm_enc(struct aead_request *areq) in nitrox_aes_gcm_enc() argument
215 struct crypto_aead *aead = crypto_aead_reqtfm(areq); in nitrox_aes_gcm_enc()
217 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq); in nitrox_aes_gcm_enc()
222 if (!nitrox_aes_gcm_assoclen_supported(areq->assoclen)) in nitrox_aes_gcm_enc()
225 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE); in nitrox_aes_gcm_enc()
227 rctx->cryptlen = areq->cryptlen; in nitrox_aes_gcm_enc()
228 rctx->assoclen = areq->assoclen; in nitrox_aes_gcm_enc()
229 rctx->srclen = areq->assoclen + areq->cryptlen; in nitrox_aes_gcm_enc()
231 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE]; in nitrox_aes_gcm_enc()
233 rctx->flags = areq->base.flags; in nitrox_aes_gcm_enc()
235 rctx->src = areq->src; in nitrox_aes_gcm_enc()
236 rctx->dst = areq->dst; in nitrox_aes_gcm_enc()
244 areq); in nitrox_aes_gcm_enc()
247 static int nitrox_aes_gcm_dec(struct aead_request *areq) in nitrox_aes_gcm_dec() argument
249 struct crypto_aead *aead = crypto_aead_reqtfm(areq); in nitrox_aes_gcm_dec()
251 struct nitrox_aead_rctx *rctx = aead_request_ctx(areq); in nitrox_aes_gcm_dec()
256 if (!nitrox_aes_gcm_assoclen_supported(areq->assoclen)) in nitrox_aes_gcm_dec()
259 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE); in nitrox_aes_gcm_dec()
261 rctx->cryptlen = areq->cryptlen - aead->authsize; in nitrox_aes_gcm_dec()
262 rctx->assoclen = areq->assoclen; in nitrox_aes_gcm_dec()
263 rctx->srclen = areq->cryptlen + areq->assoclen; in nitrox_aes_gcm_dec()
265 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE]; in nitrox_aes_gcm_dec()
267 rctx->flags = areq->base.flags; in nitrox_aes_gcm_dec()
269 rctx->src = areq->src; in nitrox_aes_gcm_dec()
270 rctx->dst = areq->dst; in nitrox_aes_gcm_dec()
278 areq); in nitrox_aes_gcm_dec()
393 static int nitrox_rfc4106_set_aead_rctx_sglist(struct aead_request *areq) in nitrox_rfc4106_set_aead_rctx_sglist() argument
395 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq); in nitrox_rfc4106_set_aead_rctx_sglist()
397 unsigned int assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE; in nitrox_rfc4106_set_aead_rctx_sglist()
400 if (areq->assoclen != 16 && areq->assoclen != 20) in nitrox_rfc4106_set_aead_rctx_sglist()
403 scatterwalk_map_and_copy(rctx->assoc, areq->src, 0, assoclen, 0); in nitrox_rfc4106_set_aead_rctx_sglist()
406 sg = scatterwalk_ffwd(rctx->src + 1, areq->src, areq->assoclen); in nitrox_rfc4106_set_aead_rctx_sglist()
410 if (areq->src != areq->dst) { in nitrox_rfc4106_set_aead_rctx_sglist()
413 sg = scatterwalk_ffwd(rctx->dst + 1, areq->dst, areq->assoclen); in nitrox_rfc4106_set_aead_rctx_sglist()
419 aead_rctx->dst = (areq->src == areq->dst) ? rctx->src : rctx->dst; in nitrox_rfc4106_set_aead_rctx_sglist()
426 struct aead_request *areq = arg; in nitrox_rfc4106_callback() local
427 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq); in nitrox_rfc4106_callback()
437 aead_request_complete(areq, err); in nitrox_rfc4106_callback()
440 static int nitrox_rfc4106_enc(struct aead_request *areq) in nitrox_rfc4106_enc() argument
442 struct crypto_aead *aead = crypto_aead_reqtfm(areq); in nitrox_rfc4106_enc()
444 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx_dma(areq); in nitrox_rfc4106_enc()
449 aead_rctx->cryptlen = areq->cryptlen; in nitrox_rfc4106_enc()
450 aead_rctx->assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE; in nitrox_rfc4106_enc()
453 aead_rctx->iv = areq->iv; in nitrox_rfc4106_enc()
455 aead_rctx->flags = areq->base.flags; in nitrox_rfc4106_enc()
459 ret = nitrox_rfc4106_set_aead_rctx_sglist(areq); in nitrox_rfc4106_enc()
469 nitrox_rfc4106_callback, areq); in nitrox_rfc4106_enc()
472 static int nitrox_rfc4106_dec(struct aead_request *areq) in nitrox_rfc4106_dec() argument
474 struct crypto_aead *aead = crypto_aead_reqtfm(areq); in nitrox_rfc4106_dec()
476 struct nitrox_rfc4106_rctx *rctx = aead_request_ctx(areq); in nitrox_rfc4106_dec()
481 aead_rctx->cryptlen = areq->cryptlen - aead->authsize; in nitrox_rfc4106_dec()
482 aead_rctx->assoclen = areq->assoclen - GCM_RFC4106_IV_SIZE; in nitrox_rfc4106_dec()
484 areq->cryptlen - GCM_RFC4106_IV_SIZE + areq->assoclen; in nitrox_rfc4106_dec()
486 aead_rctx->iv = areq->iv; in nitrox_rfc4106_dec()
488 aead_rctx->flags = areq->base.flags; in nitrox_rfc4106_dec()
492 ret = nitrox_rfc4106_set_aead_rctx_sglist(areq); in nitrox_rfc4106_dec()
502 nitrox_rfc4106_callback, areq); in nitrox_rfc4106_dec()