Lines Matching refs:rsgl
774 struct af_alg_rsgl *rsgl, *tmp;
779 list_for_each_entry_safe(rsgl, tmp, &areq->rsgl_list, list) {
780 atomic_sub(rsgl->sg_num_bytes, &ctx->rcvused);
781 af_alg_free_sg(&rsgl->sgl);
782 list_del(&rsgl->list);
783 if (rsgl != &areq->first_rsgl)
784 sock_kfree_s(sk, rsgl, sizeof(*rsgl));
1241 struct af_alg_rsgl *rsgl;
1253 rsgl = &areq->first_rsgl;
1255 rsgl = sock_kmalloc(sk, sizeof(*rsgl), GFP_KERNEL);
1256 if (unlikely(!rsgl))
1260 rsgl->sgl.need_unpin =
1262 rsgl->sgl.sgt.sgl = rsgl->sgl.sgl;
1263 rsgl->sgl.sgt.nents = 0;
1264 rsgl->sgl.sgt.orig_nents = 0;
1265 list_add_tail(&rsgl->list, &areq->rsgl_list);
1267 sg_init_table(rsgl->sgl.sgt.sgl, ALG_MAX_PAGES);
1268 err = extract_iter_to_sg(&msg->msg_iter, seglen, &rsgl->sgl.sgt,
1271 rsgl->sg_num_bytes = 0;
1275 sg_mark_end(rsgl->sgl.sgt.sgl + rsgl->sgl.sgt.nents - 1);
1279 af_alg_link_sg(&areq->last_rsgl->sgl, &rsgl->sgl);
1281 areq->last_rsgl = rsgl;
1284 rsgl->sg_num_bytes = err;