Lines Matching refs:frag
125 struct sk_buff *frag = *buf; in tipc_buf_append() local
132 if (!frag) in tipc_buf_append()
135 msg = buf_msg(frag); in tipc_buf_append()
137 frag->next = NULL; in tipc_buf_append()
138 skb_pull(frag, msg_hdr_sz(msg)); in tipc_buf_append()
144 if (skb_has_frag_list(frag) && __skb_linearize(frag)) in tipc_buf_append()
146 frag = skb_unshare(frag, GFP_ATOMIC); in tipc_buf_append()
147 if (unlikely(!frag)) in tipc_buf_append()
149 head = *headbuf = frag; in tipc_buf_append()
157 if (skb_try_coalesce(head, frag, &headstolen, &delta)) { in tipc_buf_append()
158 kfree_skb_partial(frag, headstolen); in tipc_buf_append()
162 skb_shinfo(head)->frag_list = frag; in tipc_buf_append()
164 tail->next = frag; in tipc_buf_append()
165 head->truesize += frag->truesize; in tipc_buf_append()
166 head->data_len += frag->len; in tipc_buf_append()
167 head->len += frag->len; in tipc_buf_append()
168 TIPC_SKB_CB(head)->tail = frag; in tipc_buf_append()
700 struct sk_buff *frag = NULL; in tipc_msg_reassemble() local
717 frag = skb_clone(skb, GFP_ATOMIC); in tipc_msg_reassemble()
718 if (!frag) in tipc_msg_reassemble()
720 frag->next = NULL; in tipc_msg_reassemble()
721 if (tipc_buf_append(&head, &frag)) in tipc_msg_reassemble()
726 __skb_queue_tail(rcvq, frag); in tipc_msg_reassemble()