Lines Matching refs:len

127 static_assert(offsetof(struct bio_vec, bv_len) == offsetof(skb_frag_t, len));
129 sizeof_field(skb_frag_t, len));
208 msg, addr, skb->len, sz, skb->head, skb->data, in skb_panic()
717 struct sk_buff *__netdev_alloc_skb(struct net_device *dev, unsigned int len, in __netdev_alloc_skb() argument
725 len += NET_SKB_PAD; in __netdev_alloc_skb()
730 if (len <= SKB_WITH_OVERHEAD(SKB_SMALL_HEAD_CACHE_SIZE) || in __netdev_alloc_skb()
731 len > SKB_WITH_OVERHEAD(PAGE_SIZE) || in __netdev_alloc_skb()
733 skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); in __netdev_alloc_skb()
739 len = SKB_HEAD_ALIGN(len); in __netdev_alloc_skb()
746 data = page_frag_alloc(nc, len, gfp_mask); in __netdev_alloc_skb()
753 data = page_frag_alloc(nc, len, gfp_mask); in __netdev_alloc_skb()
763 skb = __build_skb(data, len); in __netdev_alloc_skb()
794 struct sk_buff *napi_alloc_skb(struct napi_struct *napi, unsigned int len) in napi_alloc_skb() argument
803 len += NET_SKB_PAD + NET_IP_ALIGN; in napi_alloc_skb()
808 if (len <= SKB_WITH_OVERHEAD(SKB_SMALL_HEAD_CACHE_SIZE) || in napi_alloc_skb()
809 len > SKB_WITH_OVERHEAD(PAGE_SIZE) || in napi_alloc_skb()
811 skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX | SKB_ALLOC_NAPI, in napi_alloc_skb()
818 len = SKB_HEAD_ALIGN(len); in napi_alloc_skb()
826 data = page_frag_alloc(&nc->page, len, gfp_mask); in napi_alloc_skb()
833 skb = __napi_build_skb(data, len); in napi_alloc_skb()
858 skb->len += size; in skb_add_rx_frag_netmem()
872 skb->len += size; in skb_coalesce_rx_frag()
901 u32 size, truesize, len, max_head_size, off; in skb_pp_cow_data() local
913 if (skb->len > max_head_size + MAX_SKB_FRAGS * PAGE_SIZE) in skb_pp_cow_data()
916 size = min_t(u32, skb->len, max_head_size); in skb_pp_cow_data()
943 len = skb->len - off; in skb_pp_cow_data()
944 for (i = 0; i < MAX_SKB_FRAGS && off < skb->len; i++) { in skb_pp_cow_data()
948 size = min_t(u32, len, PAGE_SIZE); in skb_pp_cow_data()
965 len -= size; in skb_pp_cow_data()
1271 int i, len, seg_len; in skb_dump() local
1274 len = skb->len; in skb_dump()
1276 len = min_t(int, skb->len, MAX_HEADER + 128); in skb_dump()
1291 level, skb->len, headroom, skb_headlen(skb), tailroom, in skb_dump()
1319 seg_len = min_t(int, skb_headlen(skb), len); in skb_dump()
1323 len -= seg_len; in skb_dump()
1329 for (i = 0; len && i < skb_shinfo(skb)->nr_frags; i++) { in skb_dump()
1337 len -= skb_frag_size(frag); in skb_dump()
1338 if (!len) in skb_dump()
1346 seg_len = min_t(int, p_len, len); in skb_dump()
1352 len -= seg_len; in skb_dump()
1353 if (!len) in skb_dump()
1548 C(len); in __skb_clone()
1585 n->len = first->len; in alloc_skb_for_msg()
1586 n->data_len = first->len; in alloc_skb_for_msg()
1681 uarg->len = 1; in msg_zerocopy_alloc()
1718 if (uarg_zc->len == USHRT_MAX - 1 || bytelen > byte_limit) { in msg_zerocopy_realloc()
1726 if ((u32)(uarg_zc->id + uarg_zc->len) == next) { in msg_zerocopy_realloc()
1730 uarg_zc->len++; in msg_zerocopy_realloc()
1747 static bool skb_zerocopy_notify_extend(struct sk_buff *skb, u32 lo, u16 len) in skb_zerocopy_notify_extend() argument
1755 sum_len = old_hi - old_lo + 1ULL + len; in skb_zerocopy_notify_extend()
1763 serr->ee.ee_data += len; in skb_zerocopy_notify_extend()
1776 u16 len; in __msg_zerocopy_callback() local
1783 if (!uarg->len || sock_flag(sk, SOCK_DEAD)) in __msg_zerocopy_callback()
1786 len = uarg->len; in __msg_zerocopy_callback()
1788 hi = uarg->id + len - 1; in __msg_zerocopy_callback()
1804 !skb_zerocopy_notify_extend(tail, lo, len)) { in __msg_zerocopy_callback()
1833 uarg_to_msgzc(uarg)->len--; in msg_zerocopy_put_abort()
1846 struct msghdr *msg, int len, in skb_zerocopy_iter_stream() argument
1850 int err, orig_len = skb->len; in skb_zerocopy_iter_stream()
1867 err = __zerocopy_sg_from_iter(msg, sk, skb, &msg->msg_iter, len, in skb_zerocopy_iter_stream()
1869 if (err == -EFAULT || (err == -EMSGSIZE && skb->len == orig_len)) { in skb_zerocopy_iter_stream()
1873 iov_iter_revert(&msg->msg_iter, skb->len - orig_len); in skb_zerocopy_iter_stream()
1881 return skb->len - orig_len; in skb_zerocopy_iter_stream()
2132 skb_put(n, skb->len); in skb_copy()
2134 BUG_ON(skb_copy_bits(skb, -headerlen, n->head, headerlen + skb->len)); in skb_copy()
2173 skb_copy_from_linear_data(skb, n->data, n->len); in __pskb_copy_fclone()
2177 n->len = skb->len; in __pskb_copy_fclone()
2464 n = __alloc_skb(newheadroom + skb->len + newtailroom, in skb_copy_expand()
2473 skb_put(n, skb->len); in skb_copy_expand()
2484 skb->len + head_copy_len)); in skb_copy_expand()
2515 memset(skb->data+skb->len, 0, pad); in __skb_pad()
2533 memset(skb->data + skb->len, 0, pad); in __skb_pad()
2556 void *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len) in pskb_put() argument
2559 skb->data_len += len; in pskb_put()
2560 skb->len += len; in pskb_put()
2562 return skb_put(tail, len); in pskb_put()
2575 void *skb_put(struct sk_buff *skb, unsigned int len) in skb_put() argument
2579 skb->tail += len; in skb_put()
2580 skb->len += len; in skb_put()
2582 skb_over_panic(skb, len, __builtin_return_address(0)); in skb_put()
2596 void *skb_push(struct sk_buff *skb, unsigned int len) in skb_push() argument
2598 skb->data -= len; in skb_push()
2599 skb->len += len; in skb_push()
2601 skb_under_panic(skb, len, __builtin_return_address(0)); in skb_push()
2616 void *skb_pull(struct sk_buff *skb, unsigned int len) in skb_pull() argument
2618 return skb_pull_inline(skb, len); in skb_pull()
2633 void *skb_pull_data(struct sk_buff *skb, size_t len) in skb_pull_data() argument
2637 if (skb->len < len) in skb_pull_data()
2640 skb_pull(skb, len); in skb_pull_data()
2655 void skb_trim(struct sk_buff *skb, unsigned int len) in skb_trim() argument
2657 if (skb->len > len) in skb_trim()
2658 __skb_trim(skb, len); in skb_trim()
2665 int ___pskb_trim(struct sk_buff *skb, unsigned int len) in ___pskb_trim() argument
2679 if (offset >= len) in ___pskb_trim()
2685 if (end < len) { in ___pskb_trim()
2690 skb_frag_size_set(&skb_shinfo(skb)->frags[i++], len - offset); in ___pskb_trim()
2705 int end = offset + frag->len; in ___pskb_trim()
2720 if (end < len) { in ___pskb_trim()
2725 if (end > len && in ___pskb_trim()
2726 unlikely((err = pskb_trim(frag, len - offset)))) in ___pskb_trim()
2735 if (len > skb_headlen(skb)) { in ___pskb_trim()
2736 skb->data_len -= skb->len - len; in ___pskb_trim()
2737 skb->len = len; in ___pskb_trim()
2739 skb->len = len; in ___pskb_trim()
2741 skb_set_tail_pointer(skb, len); in ___pskb_trim()
2752 int pskb_trim_rcsum_slow(struct sk_buff *skb, unsigned int len) in pskb_trim_rcsum_slow() argument
2755 int delta = skb->len - len; in pskb_trim_rcsum_slow()
2758 skb_checksum(skb, len, delta, 0), in pskb_trim_rcsum_slow()
2759 len); in pskb_trim_rcsum_slow()
2761 int hdlen = (len > skb_headlen(skb)) ? skb_headlen(skb) : len; in pskb_trim_rcsum_slow()
2767 return __pskb_trim(skb, len); in pskb_trim_rcsum_slow()
2845 if (list->len <= eat) { in __pskb_pull_tail()
2847 eat -= list->len; in __pskb_pull_tail()
2940 int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len) in skb_copy_bits() argument
2946 if (offset > (int)skb->len - len) in skb_copy_bits()
2951 if (copy > len) in skb_copy_bits()
2952 copy = len; in skb_copy_bits()
2954 if ((len -= copy) == 0) in skb_copy_bits()
2967 WARN_ON(start > offset + len); in skb_copy_bits()
2975 if (copy > len) in skb_copy_bits()
2976 copy = len; in skb_copy_bits()
2986 if ((len -= copy) == 0) in skb_copy_bits()
2997 WARN_ON(start > offset + len); in skb_copy_bits()
2999 end = start + frag_iter->len; in skb_copy_bits()
3001 if (copy > len) in skb_copy_bits()
3002 copy = len; in skb_copy_bits()
3005 if ((len -= copy) == 0) in skb_copy_bits()
3013 if (!len) in skb_copy_bits()
3030 static struct page *linear_to_page(struct page *page, unsigned int *len, in linear_to_page() argument
3039 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
3042 page_address(page) + *offset, *len); in linear_to_page()
3044 pfrag->offset += *len; in linear_to_page()
3056 spd->partial[spd->nr_pages - 1].len == offset); in spd_can_coalesce()
3063 unsigned int *len, unsigned int offset, bool linear, in spd_fill_page() argument
3070 page = linear_to_page(page, len, &offset, sk); in spd_fill_page()
3075 spd->partial[spd->nr_pages - 1].len += *len; in spd_fill_page()
3080 spd->partial[spd->nr_pages].len = *len; in spd_fill_page()
3089 unsigned int *len, in __splice_segment() argument
3093 if (!*len) in __splice_segment()
3108 unsigned int flen = min(*len, plen); in __splice_segment()
3114 *len -= flen; in __splice_segment()
3115 } while (*len && plen); in __splice_segment()
3125 unsigned int *offset, unsigned int *len, in __skb_splice_bits() argument
3139 offset, len, spd, in __skb_splice_bits()
3158 offset, len, spd, false, sk)) in __skb_splice_bits()
3163 if (*offset >= iter->len) { in __skb_splice_bits()
3164 *offset -= iter->len; in __skb_splice_bits()
3171 if (__skb_splice_bits(iter, pipe, offset, len, spd, sk)) in __skb_splice_bits()
3231 int len, sendmsg_func sendmsg, int flags) in __skb_send_sock() argument
3234 unsigned int orig_len = len; in __skb_send_sock()
3242 while (offset < skb_headlen(skb) && len) { in __skb_send_sock()
3246 slen = min_t(int, len, skb_headlen(skb) - offset); in __skb_send_sock()
3251 if (slen < len) in __skb_send_sock()
3261 len -= ret; in __skb_send_sock()
3265 if (!len) in __skb_send_sock()
3281 for (; len && fragidx < skb_shinfo(skb)->nr_frags; fragidx++) { in __skb_send_sock()
3284 slen = min_t(size_t, len, skb_frag_size(frag) - offset); in __skb_send_sock()
3293 if (slen < len) in __skb_send_sock()
3305 len -= ret; in __skb_send_sock()
3313 if (len) { in __skb_send_sock()
3328 return orig_len - len; in __skb_send_sock()
3331 return orig_len == len ? ret : orig_len - len; in __skb_send_sock()
3336 int len) in skb_send_sock_locked() argument
3338 return __skb_send_sock(sk, skb, offset, len, sendmsg_locked, 0); in skb_send_sock_locked()
3343 int offset, int len, int flags) in skb_send_sock_locked_with_flags() argument
3345 return __skb_send_sock(sk, skb, offset, len, sendmsg_locked, flags); in skb_send_sock_locked_with_flags()
3350 int skb_send_sock(struct sock *sk, struct sk_buff *skb, int offset, int len) in skb_send_sock() argument
3352 return __skb_send_sock(sk, skb, offset, len, sendmsg_unlocked, 0); in skb_send_sock()
3367 int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len) in skb_store_bits() argument
3373 if (offset > (int)skb->len - len) in skb_store_bits()
3377 if (copy > len) in skb_store_bits()
3378 copy = len; in skb_store_bits()
3380 if ((len -= copy) == 0) in skb_store_bits()
3393 WARN_ON(start > offset + len); in skb_store_bits()
3401 if (copy > len) in skb_store_bits()
3402 copy = len; in skb_store_bits()
3412 if ((len -= copy) == 0) in skb_store_bits()
3423 WARN_ON(start > offset + len); in skb_store_bits()
3425 end = start + frag_iter->len; in skb_store_bits()
3427 if (copy > len) in skb_store_bits()
3428 copy = len; in skb_store_bits()
3432 if ((len -= copy) == 0) in skb_store_bits()
3439 if (!len) in skb_store_bits()
3448 __wsum skb_checksum(const struct sk_buff *skb, int offset, int len, __wsum csum) in skb_checksum() argument
3457 if (copy > len) in skb_checksum()
3458 copy = len; in skb_checksum()
3460 if ((len -= copy) == 0) in skb_checksum()
3473 WARN_ON(start > offset + len); in skb_checksum()
3482 if (copy > len) in skb_checksum()
3483 copy = len; in skb_checksum()
3495 if (!(len -= copy)) in skb_checksum()
3505 WARN_ON(start > offset + len); in skb_checksum()
3507 end = start + frag_iter->len; in skb_checksum()
3510 if (copy > len) in skb_checksum()
3511 copy = len; in skb_checksum()
3515 if ((len -= copy) == 0) in skb_checksum()
3522 BUG_ON(len); in skb_checksum()
3531 u8 *to, int len) in skb_copy_and_csum_bits() argument
3541 if (copy > len) in skb_copy_and_csum_bits()
3542 copy = len; in skb_copy_and_csum_bits()
3545 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
3558 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
3568 if (copy > len) in skb_copy_and_csum_bits()
3569 copy = len; in skb_copy_and_csum_bits()
3583 if (!(len -= copy)) in skb_copy_and_csum_bits()
3595 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
3597 end = start + frag_iter->len; in skb_copy_and_csum_bits()
3599 if (copy > len) in skb_copy_and_csum_bits()
3600 copy = len; in skb_copy_and_csum_bits()
3605 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
3613 BUG_ON(len); in skb_copy_and_csum_bits()
3619 u32 skb_crc32c(const struct sk_buff *skb, int offset, int len, u32 crc) in skb_crc32c() argument
3626 copy = min(copy, len); in skb_crc32c()
3628 len -= copy; in skb_crc32c()
3629 if (len == 0) in skb_crc32c()
3641 WARN_ON(start > offset + len); in skb_crc32c()
3650 copy = min(copy, len); in skb_crc32c()
3658 len -= copy; in skb_crc32c()
3659 if (len == 0) in skb_crc32c()
3669 WARN_ON(start > offset + len); in skb_crc32c()
3671 end = start + frag_iter->len; in skb_crc32c()
3674 copy = min(copy, len); in skb_crc32c()
3676 len -= copy; in skb_crc32c()
3677 if (len == 0) in skb_crc32c()
3683 BUG_ON(len); in skb_crc32c()
3690 __sum16 __skb_checksum_complete_head(struct sk_buff *skb, int len) in __skb_checksum_complete_head() argument
3694 sum = csum_fold(skb_checksum(skb, 0, len, skb->csum)); in __skb_checksum_complete_head()
3721 csum = skb_checksum(skb, 0, skb->len, 0); in __skb_checksum_complete()
3766 hlen = from->len; in skb_zerocopy_headlen()
3770 hlen = from->len; in skb_zerocopy_headlen()
3795 skb_zerocopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen) in skb_zerocopy() argument
3806 if (len <= skb_tailroom(to)) in skb_zerocopy()
3807 return skb_copy_bits(from, 0, skb_put(to, len), len); in skb_zerocopy()
3813 len -= hlen; in skb_zerocopy()
3815 plen = min_t(int, skb_headlen(from), len); in skb_zerocopy()
3823 len -= plen; in skb_zerocopy()
3827 skb_len_add(to, len + plen); in skb_zerocopy()
3838 if (!len) in skb_zerocopy()
3842 len); in skb_zerocopy()
3844 len -= size; in skb_zerocopy()
3869 if (csstart != skb->len) in skb_copy_and_csum_dev()
3871 skb->len - csstart); in skb_copy_and_csum_dev()
4081 const u32 len, const int pos) in skb_split_inside_header() argument
4085 skb_copy_from_linear_data_offset(skb, len, skb_put(skb1, pos - len), in skb_split_inside_header()
4086 pos - len); in skb_split_inside_header()
4095 skb1->len += skb1->data_len; in skb_split_inside_header()
4097 skb->len = len; in skb_split_inside_header()
4098 skb_set_tail_pointer(skb, len); in skb_split_inside_header()
4103 const u32 len, int pos) in skb_split_no_header() argument
4109 skb1->len = skb1->data_len = skb->len - len; in skb_split_no_header()
4110 skb->len = len; in skb_split_no_header()
4111 skb->data_len = len - pos; in skb_split_no_header()
4116 if (pos + size > len) { in skb_split_no_header()
4119 if (pos < len) { in skb_split_no_header()
4129 skb_frag_off_add(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
4130 skb_frag_size_sub(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
4131 skb_frag_size_set(&skb_shinfo(skb)->frags[i], len - pos); in skb_split_no_header()
4150 void skb_split(struct sk_buff *skb, struct sk_buff *skb1, const u32 len) in skb_split() argument
4159 if (len < pos) /* Split line is inside header. */ in skb_split()
4160 skb_split_inside_header(skb, skb1, len, pos); in skb_split()
4162 skb_split_no_header(skb, skb1, len, pos); in skb_split()
4198 BUG_ON(shiftlen > skb->len); in skb_shift()
4243 if ((shiftlen == skb->len) && in skb_shift()
4472 int skb_copy_seq_read(struct skb_seq_state *st, int offset, void *to, int len) in skb_copy_seq_read() argument
4481 if (sqlen >= len) { in skb_copy_seq_read()
4482 memcpy(to, data, len); in skb_copy_seq_read()
4488 len -= sqlen; in skb_copy_seq_read()
4568 void *skb_pull_rcsum(struct sk_buff *skb, unsigned int len) in skb_pull_rcsum() argument
4572 BUG_ON(len > skb->len); in skb_pull_rcsum()
4573 __skb_pull(skb, len); in skb_pull_rcsum()
4574 skb_postpull_rcsum(skb, data, len); in skb_pull_rcsum()
4641 delta_len += nskb->len; in skb_segment_list()
4662 skb->len = skb->len - delta_len; in skb_segment_list()
4704 unsigned int len = head_skb->len; in skb_segment() local
4759 frag_len = list_skb->len; in skb_segment()
4761 if (frag_len != iter->len && iter->next) in skb_segment()
4766 len -= iter->len; in skb_segment()
4769 if (len != frag_len) in skb_segment()
4778 partial_segs = min(len, GSO_BY_FRAGS - 1) / mss; in skb_segment()
4803 len = list_skb->len; in skb_segment()
4805 len = head_skb->len - offset; in skb_segment()
4806 if (len > mss) in skb_segment()
4807 len = mss; in skb_segment()
4813 (skb_headlen(list_skb) == len || sg)) { in skb_segment()
4814 BUG_ON(skb_headlen(list_skb) > len); in skb_segment()
4826 while (pos < offset + len) { in skb_segment()
4830 if (pos + size > offset + len) in skb_segment()
4840 if (unlikely(pskb_trim(nskb, len))) { in skb_segment()
4857 if (hsize > len || !sg) in skb_segment()
4858 hsize = len; in skb_segment()
4886 if (nskb->len == len + doffset) in skb_segment()
4896 len), in skb_segment()
4897 len); in skb_segment()
4901 if (skb_copy_bits(head_skb, offset, skb_put(nskb, len), len)) in skb_segment()
4918 while (pos < offset + len) { in skb_segment()
4962 if (pos + size <= offset + len) { in skb_segment()
4967 skb_frag_size_sub(nskb_frag, pos + size - (offset + len)); in skb_segment()
4975 nskb->data_len = len - hsize; in skb_segment()
4976 nskb->len += nskb->data_len; in skb_segment()
4989 nskb->len - doffset, 0); in skb_segment()
4993 } while ((offset += len) < head_skb->len); in skb_segment()
5020 if (tail->len - doffset <= gso_size) in skb_segment()
5023 skb_shinfo(tail)->gso_segs = DIV_ROUND_UP(tail->len - doffset, gso_size); in skb_segment()
5133 __skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len, in __skb_to_sgvec() argument
5145 if (copy > len) in __skb_to_sgvec()
5146 copy = len; in __skb_to_sgvec()
5149 if ((len -= copy) == 0) in __skb_to_sgvec()
5157 WARN_ON(start > offset + len); in __skb_to_sgvec()
5165 if (copy > len) in __skb_to_sgvec()
5166 copy = len; in __skb_to_sgvec()
5170 if (!(len -= copy)) in __skb_to_sgvec()
5180 WARN_ON(start > offset + len); in __skb_to_sgvec()
5182 end = start + frag_iter->len; in __skb_to_sgvec()
5187 if (copy > len) in __skb_to_sgvec()
5188 copy = len; in __skb_to_sgvec()
5194 if ((len -= copy) == 0) in __skb_to_sgvec()
5200 BUG_ON(len); in __skb_to_sgvec()
5216 int skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len) in skb_to_sgvec() argument
5218 int nsg = __skb_to_sgvec(skb, sg, offset, len, 0); in skb_to_sgvec()
5249 int offset, int len) in skb_to_sgvec_nomark() argument
5251 return __skb_to_sgvec(skb, sg, offset, len, 0); in skb_to_sgvec_nomark()
5721 static int skb_maybe_pull_tail(struct sk_buff *skb, unsigned int len, in skb_maybe_pull_tail() argument
5724 if (skb_headlen(skb) >= len) in skb_maybe_pull_tail()
5730 if (max > skb->len) in skb_maybe_pull_tail()
5731 max = skb->len; in skb_maybe_pull_tail()
5736 if (skb_headlen(skb) < len) in skb_maybe_pull_tail()
5810 skb->len - off, in skb_checksum_setup_ipv4()
5831 unsigned int len; in skb_checksum_setup_ipv6() local
5847 len = sizeof(struct ipv6hdr) + ntohs(ipv6_hdr(skb)->payload_len); in skb_checksum_setup_ipv6()
5848 while (off <= len && !done) { in skb_checksum_setup_ipv6()
5919 skb->len - off, nexthdr, 0); in skb_checksum_setup_ipv6()
5970 unsigned int len = skb_transport_offset(skb) + transport_len; in skb_checksum_maybe_trim() local
5973 if (skb->len < len) in skb_checksum_maybe_trim()
5975 else if (skb->len == len) in skb_checksum_maybe_trim()
5982 ret = pskb_trim_rcsum(skb_chk, len); in skb_checksum_maybe_trim()
6068 int i, delta, len = from->len; in skb_try_coalesce() local
6087 if (len <= skb_tailroom(to) && skb_frags_readable(from)) { in skb_try_coalesce()
6088 if (len) in skb_try_coalesce()
6089 BUG_ON(skb_copy_bits(from, 0, skb_put(to, len), len)); in skb_try_coalesce()
6128 WARN_ON_ONCE(delta < len); in skb_try_coalesce()
6147 to->len += len; in skb_try_coalesce()
6148 to->data_len += len; in skb_try_coalesce()
6281 if (unlikely(needed_tailroom && skb->len < ETH_ZLEN)) in skb_ensure_writable_head_tail()
6282 needed_tailroom += ETH_ZLEN - skb->len; in skb_ensure_writable_head_tail()
6723 skb->len -= off; in pskb_carve_inside_header()
6778 if (list->len <= eat) { in pskb_carve_frag_list()
6780 eat -= list->len; in pskb_carve_frag_list()
6889 skb->len -= off; in pskb_carve_inside_nonlinear()
6890 skb->data_len = skb->len; in pskb_carve_inside_nonlinear()
6896 static int pskb_carve(struct sk_buff *skb, const u32 len, gfp_t gfp) in pskb_carve() argument
6900 if (len < headlen) in pskb_carve()
6901 return pskb_carve_inside_header(skb, len, headlen, gfp); in pskb_carve()
6903 return pskb_carve_inside_nonlinear(skb, len, headlen, gfp); in pskb_carve()
7006 for (i = 0; i < sp->len; i++) in skb_ext_maybe_cow()
7100 for (i = 0; i < sp->len; i++) in skb_ext_put_sp()
7127 sp->len = 0; in __skb_ext_del()
7220 size_t offset, size_t len) in skb_splice_csum_page() argument
7226 csum = csum_partial(kaddr + offset, len, 0); in skb_splice_csum_page()
7228 skb->csum = csum_block_add(skb->csum, csum, skb->len); in skb_splice_csum_page()
7254 ssize_t space, nr, len; in skb_splice_from_iter() local
7265 len = iov_iter_extract_pages(iter, &ppages, maxsize, nr, 0, &off); in skb_splice_from_iter()
7266 if (len <= 0) { in skb_splice_from_iter()
7267 ret = len ?: -EIO; in skb_splice_from_iter()
7274 size_t part = min_t(size_t, PAGE_SIZE - off, len); in skb_splice_from_iter()
7283 iov_iter_revert(iter, len); in skb_splice_from_iter()
7293 len -= part; in skb_splice_from_iter()
7294 } while (len > 0); in skb_splice_from_iter()
7308 size_t len, void *to, void *priv2) in memcpy_from_iter_csum() argument
7311 __wsum next = csum_partial_copy_nocheck(iter_from, to + progress, len); in memcpy_from_iter_csum()
7319 size_t len, void *to, void *priv2) in copy_from_user_iter_csum() argument
7323 next = csum_and_copy_from_user(iter_from, to + progress, len); in copy_from_user_iter_csum()
7325 return next ? 0 : len; in copy_from_user_iter_csum()