Lines Matching refs:areq
100 struct af_alg_async_req *areq;
153 areq = af_alg_alloc_areq(sk, sizeof(struct af_alg_async_req) +
155 if (IS_ERR(areq))
156 return PTR_ERR(areq);
159 err = af_alg_get_rsgl(sk, msg, flags, areq, outlen, &usedpages);
213 rsgl_src = areq->first_rsgl.sgl.sg;
227 areq->first_rsgl.sgl.sg, processed);
245 areq->first_rsgl.sgl.sg, outlen);
250 areq->tsgl_entries = af_alg_count_tsgl(sk, processed,
252 if (!areq->tsgl_entries)
253 areq->tsgl_entries = 1;
254 areq->tsgl = sock_kmalloc(sk, array_size(sizeof(*areq->tsgl),
255 areq->tsgl_entries),
257 if (!areq->tsgl) {
261 sg_init_table(areq->tsgl, areq->tsgl_entries);
264 af_alg_pull_tsgl(sk, processed, areq->tsgl, processed - as);
266 /* chain the areq TX SGL holding the tag with RX SGL */
269 struct af_alg_sgl *sgl_prev = &areq->last_rsgl->sgl;
273 areq->tsgl);
276 rsgl_src = areq->tsgl;
280 aead_request_set_crypt(&areq->cra_u.aead_req, rsgl_src,
281 areq->first_rsgl.sgl.sg, used, ctx->iv);
282 aead_request_set_ad(&areq->cra_u.aead_req, ctx->aead_assoclen);
283 aead_request_set_tfm(&areq->cra_u.aead_req, tfm);
288 areq->iocb = msg->msg_iocb;
291 areq->outlen = outlen;
293 aead_request_set_callback(&areq->cra_u.aead_req,
295 af_alg_async_cb, areq);
296 err = ctx->enc ? crypto_aead_encrypt(&areq->cra_u.aead_req) :
297 crypto_aead_decrypt(&areq->cra_u.aead_req);
306 aead_request_set_callback(&areq->cra_u.aead_req,
311 crypto_aead_encrypt(&areq->cra_u.aead_req) :
312 crypto_aead_decrypt(&areq->cra_u.aead_req),
318 af_alg_free_resources(areq);