Lines Matching refs:areq
76 struct af_alg_async_req *areq; in _aead_recvmsg() local
129 areq = af_alg_alloc_areq(sk, sizeof(struct af_alg_async_req) + in _aead_recvmsg()
131 if (IS_ERR(areq)) in _aead_recvmsg()
132 return PTR_ERR(areq); in _aead_recvmsg()
135 err = af_alg_get_rsgl(sk, msg, flags, areq, outlen, &usedpages); in _aead_recvmsg()
189 rsgl_src = areq->first_rsgl.sgl.sgt.sgl; in _aead_recvmsg()
202 memcpy_sglist(areq->first_rsgl.sgl.sgt.sgl, tsgl_src, in _aead_recvmsg()
218 memcpy_sglist(areq->first_rsgl.sgl.sgt.sgl, tsgl_src, outlen); in _aead_recvmsg()
221 areq->tsgl_entries = af_alg_count_tsgl(sk, processed, in _aead_recvmsg()
223 if (!areq->tsgl_entries) in _aead_recvmsg()
224 areq->tsgl_entries = 1; in _aead_recvmsg()
225 areq->tsgl = sock_kmalloc(sk, array_size(sizeof(*areq->tsgl), in _aead_recvmsg()
226 areq->tsgl_entries), in _aead_recvmsg()
228 if (!areq->tsgl) { in _aead_recvmsg()
232 sg_init_table(areq->tsgl, areq->tsgl_entries); in _aead_recvmsg()
235 af_alg_pull_tsgl(sk, processed, areq->tsgl, processed - as); in _aead_recvmsg()
240 struct af_alg_sgl *sgl_prev = &areq->last_rsgl->sgl; in _aead_recvmsg()
244 sg_chain(sg, sgl_prev->sgt.nents + 1, areq->tsgl); in _aead_recvmsg()
247 rsgl_src = areq->tsgl; in _aead_recvmsg()
251 aead_request_set_crypt(&areq->cra_u.aead_req, rsgl_src, in _aead_recvmsg()
252 areq->first_rsgl.sgl.sgt.sgl, used, ctx->iv); in _aead_recvmsg()
253 aead_request_set_ad(&areq->cra_u.aead_req, ctx->aead_assoclen); in _aead_recvmsg()
254 aead_request_set_tfm(&areq->cra_u.aead_req, tfm); in _aead_recvmsg()
259 areq->iocb = msg->msg_iocb; in _aead_recvmsg()
262 areq->outlen = outlen; in _aead_recvmsg()
264 aead_request_set_callback(&areq->cra_u.aead_req, in _aead_recvmsg()
266 af_alg_async_cb, areq); in _aead_recvmsg()
267 err = ctx->enc ? crypto_aead_encrypt(&areq->cra_u.aead_req) : in _aead_recvmsg()
268 crypto_aead_decrypt(&areq->cra_u.aead_req); in _aead_recvmsg()
277 aead_request_set_callback(&areq->cra_u.aead_req, in _aead_recvmsg()
282 crypto_aead_encrypt(&areq->cra_u.aead_req) : in _aead_recvmsg()
283 crypto_aead_decrypt(&areq->cra_u.aead_req), in _aead_recvmsg()
289 af_alg_free_resources(areq); in _aead_recvmsg()