Lines Matching refs:rsgl
775 struct af_alg_rsgl *rsgl, *tmp; in af_alg_free_areq_sgls() local
780 list_for_each_entry_safe(rsgl, tmp, &areq->rsgl_list, list) { in af_alg_free_areq_sgls()
781 atomic_sub(rsgl->sg_num_bytes, &ctx->rcvused); in af_alg_free_areq_sgls()
782 af_alg_free_sg(&rsgl->sgl); in af_alg_free_areq_sgls()
783 list_del(&rsgl->list); in af_alg_free_areq_sgls()
784 if (rsgl != &areq->first_rsgl) in af_alg_free_areq_sgls()
785 sock_kfree_s(sk, rsgl, sizeof(*rsgl)); in af_alg_free_areq_sgls()
1249 struct af_alg_rsgl *rsgl; in af_alg_get_rsgl() local
1261 rsgl = &areq->first_rsgl; in af_alg_get_rsgl()
1263 rsgl = sock_kmalloc(sk, sizeof(*rsgl), GFP_KERNEL); in af_alg_get_rsgl()
1264 if (unlikely(!rsgl)) in af_alg_get_rsgl()
1268 rsgl->sgl.need_unpin = in af_alg_get_rsgl()
1270 rsgl->sgl.sgt.sgl = rsgl->sgl.sgl; in af_alg_get_rsgl()
1271 rsgl->sgl.sgt.nents = 0; in af_alg_get_rsgl()
1272 rsgl->sgl.sgt.orig_nents = 0; in af_alg_get_rsgl()
1273 list_add_tail(&rsgl->list, &areq->rsgl_list); in af_alg_get_rsgl()
1275 sg_init_table(rsgl->sgl.sgt.sgl, ALG_MAX_PAGES); in af_alg_get_rsgl()
1276 err = extract_iter_to_sg(&msg->msg_iter, seglen, &rsgl->sgl.sgt, in af_alg_get_rsgl()
1279 rsgl->sg_num_bytes = 0; in af_alg_get_rsgl()
1283 sg_mark_end(rsgl->sgl.sgt.sgl + rsgl->sgl.sgt.nents - 1); in af_alg_get_rsgl()
1287 af_alg_link_sg(&areq->last_rsgl->sgl, &rsgl->sgl); in af_alg_get_rsgl()
1289 areq->last_rsgl = rsgl; in af_alg_get_rsgl()
1292 rsgl->sg_num_bytes = err; in af_alg_get_rsgl()