Lines Matching refs:len

101 		 msg, addr, skb->len, sz, skb->head, skb->data,  in skb_panic()
577 skb->len += size; in skb_add_rx_frag()
589 skb->len += size; in skb_coalesce_rx_frag()
872 C(len); in __skb_clone()
1077 skb_put(n, skb->len); in skb_copy()
1079 if (skb_copy_bits(skb, -headerlen, n->head, headerlen + skb->len)) in skb_copy()
1119 skb_copy_from_linear_data(skb, n->data, n->len); in __pskb_copy_fclone()
1123 n->len = skb->len; in __pskb_copy_fclone()
1290 struct sk_buff *n = __alloc_skb(newheadroom + skb->len + newtailroom, in skb_copy_expand()
1302 skb_put(n, skb->len); in skb_copy_expand()
1313 skb->len + head_copy_len)) in skb_copy_expand()
1343 memset(skb->data+skb->len, 0, pad); in skb_pad()
1361 memset(skb->data + skb->len, 0, pad); in skb_pad()
1383 unsigned char *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len) in pskb_put() argument
1386 skb->data_len += len; in pskb_put()
1387 skb->len += len; in pskb_put()
1389 return skb_put(tail, len); in pskb_put()
1402 unsigned char *skb_put(struct sk_buff *skb, unsigned int len) in skb_put() argument
1406 skb->tail += len; in skb_put()
1407 skb->len += len; in skb_put()
1409 skb_over_panic(skb, len, __builtin_return_address(0)); in skb_put()
1423 unsigned char *skb_push(struct sk_buff *skb, unsigned int len) in skb_push() argument
1425 skb->data -= len; in skb_push()
1426 skb->len += len; in skb_push()
1428 skb_under_panic(skb, len, __builtin_return_address(0)); in skb_push()
1443 unsigned char *skb_pull(struct sk_buff *skb, unsigned int len) in skb_pull() argument
1445 return skb_pull_inline(skb, len); in skb_pull()
1458 void skb_trim(struct sk_buff *skb, unsigned int len) in skb_trim() argument
1460 if (skb->len > len) in skb_trim()
1461 __skb_trim(skb, len); in skb_trim()
1468 int ___pskb_trim(struct sk_buff *skb, unsigned int len) in ___pskb_trim() argument
1482 if (offset >= len) in ___pskb_trim()
1488 if (end < len) { in ___pskb_trim()
1493 skb_frag_size_set(&skb_shinfo(skb)->frags[i++], len - offset); in ___pskb_trim()
1508 int end = offset + frag->len; in ___pskb_trim()
1523 if (end < len) { in ___pskb_trim()
1528 if (end > len && in ___pskb_trim()
1529 unlikely((err = pskb_trim(frag, len - offset)))) in ___pskb_trim()
1538 if (len > skb_headlen(skb)) { in ___pskb_trim()
1539 skb->data_len -= skb->len - len; in ___pskb_trim()
1540 skb->len = len; in ___pskb_trim()
1542 skb->len = len; in ___pskb_trim()
1544 skb_set_tail_pointer(skb, len); in ___pskb_trim()
1624 if (list->len <= eat) { in __pskb_pull_tail()
1626 eat -= list->len; in __pskb_pull_tail()
1708 int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len) in skb_copy_bits() argument
1714 if (offset > (int)skb->len - len) in skb_copy_bits()
1719 if (copy > len) in skb_copy_bits()
1720 copy = len; in skb_copy_bits()
1722 if ((len -= copy) == 0) in skb_copy_bits()
1732 WARN_ON(start > offset + len); in skb_copy_bits()
1738 if (copy > len) in skb_copy_bits()
1739 copy = len; in skb_copy_bits()
1747 if ((len -= copy) == 0) in skb_copy_bits()
1758 WARN_ON(start > offset + len); in skb_copy_bits()
1760 end = start + frag_iter->len; in skb_copy_bits()
1762 if (copy > len) in skb_copy_bits()
1763 copy = len; in skb_copy_bits()
1766 if ((len -= copy) == 0) in skb_copy_bits()
1774 if (!len) in skb_copy_bits()
1791 static struct page *linear_to_page(struct page *page, unsigned int *len, in linear_to_page() argument
1800 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
1803 page_address(page) + *offset, *len); in linear_to_page()
1805 pfrag->offset += *len; in linear_to_page()
1817 spd->partial[spd->nr_pages - 1].len == offset); in spd_can_coalesce()
1825 unsigned int *len, unsigned int offset, in spd_fill_page() argument
1833 page = linear_to_page(page, len, &offset, sk); in spd_fill_page()
1838 spd->partial[spd->nr_pages - 1].len += *len; in spd_fill_page()
1843 spd->partial[spd->nr_pages].len = *len; in spd_fill_page()
1852 unsigned int *len, in __splice_segment() argument
1857 if (!*len) in __splice_segment()
1872 unsigned int flen = min(*len, plen); in __splice_segment()
1879 *len -= flen; in __splice_segment()
1880 } while (*len && plen); in __splice_segment()
1890 unsigned int *offset, unsigned int *len, in __skb_splice_bits() argument
1903 offset, len, spd, in __skb_splice_bits()
1916 offset, len, spd, false, sk, pipe)) in __skb_splice_bits()
1997 int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len) in skb_store_bits() argument
2003 if (offset > (int)skb->len - len) in skb_store_bits()
2007 if (copy > len) in skb_store_bits()
2008 copy = len; in skb_store_bits()
2010 if ((len -= copy) == 0) in skb_store_bits()
2020 WARN_ON(start > offset + len); in skb_store_bits()
2026 if (copy > len) in skb_store_bits()
2027 copy = len; in skb_store_bits()
2034 if ((len -= copy) == 0) in skb_store_bits()
2045 WARN_ON(start > offset + len); in skb_store_bits()
2047 end = start + frag_iter->len; in skb_store_bits()
2049 if (copy > len) in skb_store_bits()
2050 copy = len; in skb_store_bits()
2054 if ((len -= copy) == 0) in skb_store_bits()
2061 if (!len) in skb_store_bits()
2070 __wsum __skb_checksum(const struct sk_buff *skb, int offset, int len, in __skb_checksum() argument
2080 if (copy > len) in __skb_checksum()
2081 copy = len; in __skb_checksum()
2083 if ((len -= copy) == 0) in __skb_checksum()
2093 WARN_ON(start > offset + len); in __skb_checksum()
2100 if (copy > len) in __skb_checksum()
2101 copy = len; in __skb_checksum()
2107 if (!(len -= copy)) in __skb_checksum()
2118 WARN_ON(start > offset + len); in __skb_checksum()
2120 end = start + frag_iter->len; in __skb_checksum()
2123 if (copy > len) in __skb_checksum()
2124 copy = len; in __skb_checksum()
2128 if ((len -= copy) == 0) in __skb_checksum()
2135 BUG_ON(len); in __skb_checksum()
2142 int len, __wsum csum) in skb_checksum() argument
2149 return __skb_checksum(skb, offset, len, csum, &ops); in skb_checksum()
2156 u8 *to, int len, __wsum csum) in skb_copy_and_csum_bits() argument
2165 if (copy > len) in skb_copy_and_csum_bits()
2166 copy = len; in skb_copy_and_csum_bits()
2169 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
2179 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
2187 if (copy > len) in skb_copy_and_csum_bits()
2188 copy = len; in skb_copy_and_csum_bits()
2196 if (!(len -= copy)) in skb_copy_and_csum_bits()
2209 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
2211 end = start + frag_iter->len; in skb_copy_and_csum_bits()
2213 if (copy > len) in skb_copy_and_csum_bits()
2214 copy = len; in skb_copy_and_csum_bits()
2219 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
2227 BUG_ON(len); in skb_copy_and_csum_bits()
2250 hlen = from->len; in skb_zerocopy_headlen()
2275 skb_zerocopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen) in skb_zerocopy() argument
2286 if (len <= skb_tailroom(to)) in skb_zerocopy()
2287 return skb_copy_bits(from, 0, skb_put(to, len), len); in skb_zerocopy()
2293 len -= hlen; in skb_zerocopy()
2295 plen = min_t(int, skb_headlen(from), len); in skb_zerocopy()
2302 len -= plen; in skb_zerocopy()
2306 to->truesize += len + plen; in skb_zerocopy()
2307 to->len += len + plen; in skb_zerocopy()
2308 to->data_len += len + plen; in skb_zerocopy()
2316 if (!len) in skb_zerocopy()
2319 skb_shinfo(to)->frags[j].size = min_t(int, skb_shinfo(to)->frags[j].size, len); in skb_zerocopy()
2320 len -= skb_shinfo(to)->frags[j].size; in skb_zerocopy()
2345 if (csstart != skb->len) in skb_copy_and_csum_dev()
2347 skb->len - csstart, 0); in skb_copy_and_csum_dev()
2520 const u32 len, const int pos) in skb_split_inside_header() argument
2524 skb_copy_from_linear_data_offset(skb, len, skb_put(skb1, pos - len), in skb_split_inside_header()
2525 pos - len); in skb_split_inside_header()
2533 skb1->len += skb1->data_len; in skb_split_inside_header()
2535 skb->len = len; in skb_split_inside_header()
2536 skb_set_tail_pointer(skb, len); in skb_split_inside_header()
2541 const u32 len, int pos) in skb_split_no_header() argument
2547 skb1->len = skb1->data_len = skb->len - len; in skb_split_no_header()
2548 skb->len = len; in skb_split_no_header()
2549 skb->data_len = len - pos; in skb_split_no_header()
2554 if (pos + size > len) { in skb_split_no_header()
2557 if (pos < len) { in skb_split_no_header()
2567 skb_shinfo(skb1)->frags[0].page_offset += len - pos; in skb_split_no_header()
2568 skb_frag_size_sub(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
2569 skb_frag_size_set(&skb_shinfo(skb)->frags[i], len - pos); in skb_split_no_header()
2586 void skb_split(struct sk_buff *skb, struct sk_buff *skb1, const u32 len) in skb_split() argument
2591 if (len < pos) /* Split line is inside header. */ in skb_split()
2592 skb_split_inside_header(skb, skb1, len, pos); in skb_split()
2594 skb_split_no_header(skb, skb1, len, pos); in skb_split()
2630 BUG_ON(shiftlen > skb->len); in skb_shift()
2669 if ((shiftlen == skb->len) && in skb_shift()
2731 skb->len -= shiftlen; in skb_shift()
2734 tgt->len += shiftlen; in skb_shift()
2923 int len, int odd, struct sk_buff *skb), in skb_append_datato_frags() argument
2957 skb->len += copy; in skb_append_datato_frags()
2979 unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len) in skb_pull_rcsum() argument
2983 BUG_ON(len > skb->len); in skb_pull_rcsum()
2984 __skb_pull(skb, len); in skb_pull_rcsum()
2985 skb_postpull_rcsum(skb, data, len); in skb_pull_rcsum()
3012 unsigned int len; in skb_segment() local
3039 len = head_skb->len - offset; in skb_segment()
3040 if (len > mss) in skb_segment()
3041 len = mss; in skb_segment()
3046 if (hsize > len || !sg) in skb_segment()
3047 hsize = len; in skb_segment()
3050 (skb_headlen(list_skb) == len || sg)) { in skb_segment()
3051 BUG_ON(skb_headlen(list_skb) > len); in skb_segment()
3059 while (pos < offset + len) { in skb_segment()
3063 if (pos + size > offset + len) in skb_segment()
3077 if (unlikely(pskb_trim(nskb, len))) { in skb_segment()
3118 if (nskb->len == len + doffset) in skb_segment()
3124 skb_put(nskb, len), in skb_segment()
3125 len, 0); in skb_segment()
3139 while (pos < offset + len) { in skb_segment()
3175 if (pos + size <= offset + len) { in skb_segment()
3180 skb_frag_size_sub(nskb_frag, pos + size - (offset + len)); in skb_segment()
3188 nskb->data_len = len - hsize; in skb_segment()
3189 nskb->len += nskb->data_len; in skb_segment()
3195 nskb->len - doffset, 0); in skb_segment()
3200 } while ((offset += len) < head_skb->len); in skb_segment()
3230 unsigned int len = skb_gro_len(skb); in skb_gro_receive() local
3234 if (unlikely(p->len + len >= 65536)) in skb_gro_receive()
3267 skb->len -= skb->data_len; in skb_gro_receive()
3308 skb->len -= eat; in skb_gro_receive()
3324 p->data_len += len; in skb_gro_receive()
3326 p->len += len; in skb_gro_receive()
3328 lp->data_len += len; in skb_gro_receive()
3330 lp->len += len; in skb_gro_receive()
3361 __skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len) in __skb_to_sgvec() argument
3369 if (copy > len) in __skb_to_sgvec()
3370 copy = len; in __skb_to_sgvec()
3373 if ((len -= copy) == 0) in __skb_to_sgvec()
3381 WARN_ON(start > offset + len); in __skb_to_sgvec()
3387 if (copy > len) in __skb_to_sgvec()
3388 copy = len; in __skb_to_sgvec()
3392 if (!(len -= copy)) in __skb_to_sgvec()
3402 WARN_ON(start > offset + len); in __skb_to_sgvec()
3404 end = start + frag_iter->len; in __skb_to_sgvec()
3406 if (copy > len) in __skb_to_sgvec()
3407 copy = len; in __skb_to_sgvec()
3410 if ((len -= copy) == 0) in __skb_to_sgvec()
3416 BUG_ON(len); in __skb_to_sgvec()
3440 int offset, int len) in skb_to_sgvec_nomark() argument
3442 return __skb_to_sgvec(skb, sg, offset, len); in skb_to_sgvec_nomark()
3446 int skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len) in skb_to_sgvec() argument
3448 int nsg = __skb_to_sgvec(skb, sg, offset, len); in skb_to_sgvec()
3805 static int skb_maybe_pull_tail(struct sk_buff *skb, unsigned int len, in skb_maybe_pull_tail() argument
3808 if (skb_headlen(skb) >= len) in skb_maybe_pull_tail()
3814 if (max > skb->len) in skb_maybe_pull_tail()
3815 max = skb->len; in skb_maybe_pull_tail()
3820 if (skb_headlen(skb) < len) in skb_maybe_pull_tail()
3894 skb->len - off, in skb_checksum_setup_ipv4()
3915 unsigned int len; in skb_checksum_setup_ipv6() local
3931 len = sizeof(struct ipv6hdr) + ntohs(ipv6_hdr(skb)->payload_len); in skb_checksum_setup_ipv6()
3932 while (off <= len && !done) { in skb_checksum_setup_ipv6()
4003 skb->len - off, nexthdr, 0); in skb_checksum_setup_ipv6()
4065 int i, delta, len = from->len; in skb_try_coalesce() local
4072 if (len <= skb_tailroom(to)) { in skb_try_coalesce()
4073 if (len) in skb_try_coalesce()
4074 BUG_ON(skb_copy_bits(from, 0, skb_put(to, len), len)); in skb_try_coalesce()
4109 WARN_ON_ONCE(delta < len); in skb_try_coalesce()
4126 to->len += len; in skb_try_coalesce()
4127 to->data_len += len; in skb_try_coalesce()
4308 skb->len < VLAN_ETH_HLEN)) in skb_vlan_pop()
4318 skb->len < VLAN_ETH_HLEN)) in skb_vlan_pop()