Lines Matching refs:from
2550 int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len) in skb_store_bits() argument
2562 skb_copy_to_linear_data_offset(skb, offset, from, copy); in skb_store_bits()
2566 from += copy; in skb_store_bits()
2588 memcpy(vaddr + p_off, from + copied, p_len); in skb_store_bits()
2595 from += copy; in skb_store_bits()
2610 from, copy)) in skb_store_bits()
2615 from += copy; in skb_store_bits()
2903 skb_zerocopy_headlen(const struct sk_buff *from) in skb_zerocopy_headlen() argument
2907 if (!from->head_frag || in skb_zerocopy_headlen()
2908 skb_headlen(from) < L1_CACHE_BYTES || in skb_zerocopy_headlen()
2909 skb_shinfo(from)->nr_frags >= MAX_SKB_FRAGS) in skb_zerocopy_headlen()
2910 hlen = skb_headlen(from); in skb_zerocopy_headlen()
2912 if (skb_has_frag_list(from)) in skb_zerocopy_headlen()
2913 hlen = from->len; in skb_zerocopy_headlen()
2938 skb_zerocopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen) in skb_zerocopy() argument
2946 BUG_ON(!from->head_frag && !hlen); in skb_zerocopy()
2950 return skb_copy_bits(from, 0, skb_put(to, len), len); in skb_zerocopy()
2953 ret = skb_copy_bits(from, 0, skb_put(to, hlen), hlen); in skb_zerocopy()
2958 plen = min_t(int, skb_headlen(from), len); in skb_zerocopy()
2960 page = virt_to_head_page(from->head); in skb_zerocopy()
2961 offset = from->data - (unsigned char *)page_address(page); in skb_zerocopy()
2973 if (unlikely(skb_orphan_frags(from, GFP_ATOMIC))) { in skb_zerocopy()
2974 skb_tx_error(from); in skb_zerocopy()
2977 skb_zerocopy_clone(to, from, GFP_ATOMIC); in skb_zerocopy()
2979 for (i = 0; i < skb_shinfo(from)->nr_frags; i++) { in skb_zerocopy()
2984 skb_shinfo(to)->frags[j] = skb_shinfo(from)->frags[i]; in skb_zerocopy()
3301 int from, to, merge, todo; in skb_shift() local
3312 from = 0; in skb_shift()
3314 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
3333 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
3343 from++; in skb_shift()
3348 (skb_shinfo(skb)->nr_frags - from) > (MAX_SKB_FRAGS - to)) in skb_shift()
3354 while ((todo > 0) && (from < skb_shinfo(skb)->nr_frags)) { in skb_shift()
3358 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
3364 from++; in skb_shift()
3395 while (from < skb_shinfo(skb)->nr_frags) in skb_shift()
3396 skb_shinfo(skb)->frags[to++] = skb_shinfo(skb)->frags[from++]; in skb_shift()
3429 void skb_prepare_seq_read(struct sk_buff *skb, unsigned int from, in skb_prepare_seq_read() argument
3432 st->lower_offset = from; in skb_prepare_seq_read()
3572 unsigned int skb_find_text(struct sk_buff *skb, unsigned int from, in skb_find_text() argument
3581 skb_prepare_seq_read(skb, from, to, TS_SKB_CB(&state)); in skb_find_text()
3584 return (ret <= to - from ? ret : UINT_MAX); in skb_find_text()
5026 bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from, in skb_try_coalesce() argument
5030 int i, delta, len = from->len; in skb_try_coalesce()
5039 BUG_ON(skb_copy_bits(from, 0, skb_put(to, len), len)); in skb_try_coalesce()
5045 from_shinfo = skb_shinfo(from); in skb_try_coalesce()
5048 if (skb_zcopy(to) || skb_zcopy(from)) in skb_try_coalesce()
5051 if (skb_headlen(from) != 0) { in skb_try_coalesce()
5059 if (skb_head_is_locked(from)) in skb_try_coalesce()
5062 delta = from->truesize - SKB_DATA_ALIGN(sizeof(struct sk_buff)); in skb_try_coalesce()
5064 page = virt_to_head_page(from->head); in skb_try_coalesce()
5065 offset = from->data - (unsigned char *)page_address(page); in skb_try_coalesce()
5068 page, offset, skb_headlen(from)); in skb_try_coalesce()
5075 delta = from->truesize - SKB_TRUESIZE(skb_end_offset(from)); in skb_try_coalesce()
5085 if (!skb_cloned(from)) in skb_try_coalesce()