Lines Matching defs:shinfo
393 struct skb_shared_info *shinfo;
407 /* make sure we initialize shinfo sequentially */
408 shinfo = skb_shinfo(skb);
409 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref));
410 atomic_set(&shinfo->dataref, 1);
1056 struct skb_shared_info *shinfo;
1063 shinfo = skb_shinfo(skb);
1065 for (i = 0; i < shinfo->nr_frags; i++) {
1066 head_netmem = netmem_compound_head(shinfo->frags[i].netmem);
1095 struct skb_shared_info *shinfo = skb_shinfo(skb);
1098 if (!skb_data_unref(skb, shinfo))
1102 bool skip_unref = shinfo->flags & SKBFL_MANAGED_FRAG_REFS;
1109 for (i = 0; i < shinfo->nr_frags; i++)
1110 __skb_frag_unref(&shinfo->frags[i], skb->pp_recycle);
1113 if (shinfo->frag_list)
1114 kfree_skb_list_reason(shinfo->frag_list, reason);
1327 "shinfo(txflags=%u nr_frags=%u gso(size=%hu type=%u segs=%hu))\n"
2321 * if shinfo is shared we must drop the old head gracefully, but if it
2398 struct skb_shared_info *shinfo;
2413 shinfo = skb_shinfo(skb);
2419 shinfo,
2420 offsetof(struct skb_shared_info, frags[shinfo->nr_frags]));
6877 static int pskb_carve_frag_list(struct skb_shared_info *shinfo, int eat,
6880 struct sk_buff *list = shinfo->frag_list;
6915 while ((list = shinfo->frag_list) != insp) {
6916 shinfo->frag_list = list->next;
6922 shinfo->frag_list = clone;
6937 struct skb_shared_info *shinfo;
6958 shinfo = (struct skb_shared_info *)(data + size);
6963 shinfo->frags[k] = skb_shinfo(skb)->frags[i];
6974 skb_frag_off_add(&shinfo->frags[0], off - pos);
6975 skb_frag_size_sub(&shinfo->frags[0], off - pos);
6982 shinfo->nr_frags = k;
6987 if (k == 0 && pskb_carve_frag_list(shinfo, off - pos, gfp_mask)) {
6988 /* skb_frag_unref() is not needed here as shinfo->nr_frags = 0. */