Lines Matching refs:len
191 msg, addr, skb->len, sz, skb->head, skb->data, in skb_panic()
704 struct sk_buff *__netdev_alloc_skb(struct net_device *dev, unsigned int len, in __netdev_alloc_skb() argument
712 len += NET_SKB_PAD; in __netdev_alloc_skb()
717 if (len <= SKB_WITH_OVERHEAD(1024) || in __netdev_alloc_skb()
718 len > SKB_WITH_OVERHEAD(PAGE_SIZE) || in __netdev_alloc_skb()
720 skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); in __netdev_alloc_skb()
726 len = SKB_HEAD_ALIGN(len); in __netdev_alloc_skb()
733 data = page_frag_alloc(nc, len, gfp_mask); in __netdev_alloc_skb()
738 data = page_frag_alloc(nc, len, gfp_mask); in __netdev_alloc_skb()
746 skb = __build_skb(data, len); in __netdev_alloc_skb()
778 struct sk_buff *__napi_alloc_skb(struct napi_struct *napi, unsigned int len, in __napi_alloc_skb() argument
787 len += NET_SKB_PAD + NET_IP_ALIGN; in __napi_alloc_skb()
794 if ((!NAPI_HAS_SMALL_PAGE_FRAG && len <= SKB_WITH_OVERHEAD(1024)) || in __napi_alloc_skb()
795 len > SKB_WITH_OVERHEAD(PAGE_SIZE) || in __napi_alloc_skb()
797 skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX | SKB_ALLOC_NAPI, in __napi_alloc_skb()
809 if (NAPI_HAS_SMALL_PAGE_FRAG && len <= SKB_WITH_OVERHEAD(1024)) { in __napi_alloc_skb()
820 len = SZ_1K; in __napi_alloc_skb()
825 len = SKB_HEAD_ALIGN(len); in __napi_alloc_skb()
827 data = page_frag_alloc(&nc->page, len, gfp_mask); in __napi_alloc_skb()
834 skb = __napi_build_skb(data, len); in __napi_alloc_skb()
857 skb->len += size; in skb_add_rx_frag()
869 skb->len += size; in skb_coalesce_rx_frag()
1177 int i, len, seg_len; in skb_dump() local
1180 len = skb->len; in skb_dump()
1182 len = min_t(int, skb->len, MAX_HEADER + 128); in skb_dump()
1195 level, skb->len, headroom, skb_headlen(skb), tailroom, in skb_dump()
1219 seg_len = min_t(int, skb_headlen(skb), len); in skb_dump()
1223 len -= seg_len; in skb_dump()
1229 for (i = 0; len && i < skb_shinfo(skb)->nr_frags; i++) { in skb_dump()
1238 seg_len = min_t(int, p_len, len); in skb_dump()
1244 len -= seg_len; in skb_dump()
1245 if (!len) in skb_dump()
1436 C(len); in __skb_clone()
1473 n->len = first->len; in alloc_skb_for_msg()
1474 n->data_len = first->len; in alloc_skb_for_msg()
1568 uarg->len = 1; in msg_zerocopy_alloc()
1605 if (uarg_zc->len == USHRT_MAX - 1 || bytelen > byte_limit) { in msg_zerocopy_realloc()
1613 if ((u32)(uarg_zc->id + uarg_zc->len) == next) { in msg_zerocopy_realloc()
1616 uarg_zc->len++; in msg_zerocopy_realloc()
1633 static bool skb_zerocopy_notify_extend(struct sk_buff *skb, u32 lo, u16 len) in skb_zerocopy_notify_extend() argument
1641 sum_len = old_hi - old_lo + 1ULL + len; in skb_zerocopy_notify_extend()
1649 serr->ee.ee_data += len; in skb_zerocopy_notify_extend()
1662 u16 len; in __msg_zerocopy_callback() local
1669 if (!uarg->len || sock_flag(sk, SOCK_DEAD)) in __msg_zerocopy_callback()
1672 len = uarg->len; in __msg_zerocopy_callback()
1674 hi = uarg->id + len - 1; in __msg_zerocopy_callback()
1690 !skb_zerocopy_notify_extend(tail, lo, len)) { in __msg_zerocopy_callback()
1720 uarg_to_msgzc(uarg)->len--; in msg_zerocopy_put_abort()
1728 struct msghdr *msg, int len, in skb_zerocopy_iter_stream() argument
1732 int err, orig_len = skb->len; in skb_zerocopy_iter_stream()
1740 err = __zerocopy_sg_from_iter(msg, sk, skb, &msg->msg_iter, len); in skb_zerocopy_iter_stream()
1741 if (err == -EFAULT || (err == -EMSGSIZE && skb->len == orig_len)) { in skb_zerocopy_iter_stream()
1745 iov_iter_revert(&msg->msg_iter, skb->len - orig_len); in skb_zerocopy_iter_stream()
1753 return skb->len - orig_len; in skb_zerocopy_iter_stream()
1997 skb_put(n, skb->len); in skb_copy()
1999 BUG_ON(skb_copy_bits(skb, -headerlen, n->head, headerlen + skb->len)); in skb_copy()
2038 skb_copy_from_linear_data(skb, n->data, n->len); in __pskb_copy_fclone()
2042 n->len = skb->len; in __pskb_copy_fclone()
2326 n = __alloc_skb(newheadroom + skb->len + newtailroom, in skb_copy_expand()
2335 skb_put(n, skb->len); in skb_copy_expand()
2346 skb->len + head_copy_len)); in skb_copy_expand()
2377 memset(skb->data+skb->len, 0, pad); in __skb_pad()
2395 memset(skb->data + skb->len, 0, pad); in __skb_pad()
2418 void *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len) in pskb_put() argument
2421 skb->data_len += len; in pskb_put()
2422 skb->len += len; in pskb_put()
2424 return skb_put(tail, len); in pskb_put()
2437 void *skb_put(struct sk_buff *skb, unsigned int len) in skb_put() argument
2441 skb->tail += len; in skb_put()
2442 skb->len += len; in skb_put()
2444 skb_over_panic(skb, len, __builtin_return_address(0)); in skb_put()
2458 void *skb_push(struct sk_buff *skb, unsigned int len) in skb_push() argument
2460 skb->data -= len; in skb_push()
2461 skb->len += len; in skb_push()
2463 skb_under_panic(skb, len, __builtin_return_address(0)); in skb_push()
2478 void *skb_pull(struct sk_buff *skb, unsigned int len) in skb_pull() argument
2480 return skb_pull_inline(skb, len); in skb_pull()
2495 void *skb_pull_data(struct sk_buff *skb, size_t len) in skb_pull_data() argument
2499 if (skb->len < len) in skb_pull_data()
2502 skb_pull(skb, len); in skb_pull_data()
2517 void skb_trim(struct sk_buff *skb, unsigned int len) in skb_trim() argument
2519 if (skb->len > len) in skb_trim()
2520 __skb_trim(skb, len); in skb_trim()
2527 int ___pskb_trim(struct sk_buff *skb, unsigned int len) in ___pskb_trim() argument
2541 if (offset >= len) in ___pskb_trim()
2547 if (end < len) { in ___pskb_trim()
2552 skb_frag_size_set(&skb_shinfo(skb)->frags[i++], len - offset); in ___pskb_trim()
2567 int end = offset + frag->len; in ___pskb_trim()
2582 if (end < len) { in ___pskb_trim()
2587 if (end > len && in ___pskb_trim()
2588 unlikely((err = pskb_trim(frag, len - offset)))) in ___pskb_trim()
2597 if (len > skb_headlen(skb)) { in ___pskb_trim()
2598 skb->data_len -= skb->len - len; in ___pskb_trim()
2599 skb->len = len; in ___pskb_trim()
2601 skb->len = len; in ___pskb_trim()
2603 skb_set_tail_pointer(skb, len); in ___pskb_trim()
2614 int pskb_trim_rcsum_slow(struct sk_buff *skb, unsigned int len) in pskb_trim_rcsum_slow() argument
2617 int delta = skb->len - len; in pskb_trim_rcsum_slow()
2620 skb_checksum(skb, len, delta, 0), in pskb_trim_rcsum_slow()
2621 len); in pskb_trim_rcsum_slow()
2623 int hdlen = (len > skb_headlen(skb)) ? skb_headlen(skb) : len; in pskb_trim_rcsum_slow()
2629 return __pskb_trim(skb, len); in pskb_trim_rcsum_slow()
2704 if (list->len <= eat) { in __pskb_pull_tail()
2706 eat -= list->len; in __pskb_pull_tail()
2799 int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len) in skb_copy_bits() argument
2805 if (offset > (int)skb->len - len) in skb_copy_bits()
2810 if (copy > len) in skb_copy_bits()
2811 copy = len; in skb_copy_bits()
2813 if ((len -= copy) == 0) in skb_copy_bits()
2823 WARN_ON(start > offset + len); in skb_copy_bits()
2831 if (copy > len) in skb_copy_bits()
2832 copy = len; in skb_copy_bits()
2842 if ((len -= copy) == 0) in skb_copy_bits()
2853 WARN_ON(start > offset + len); in skb_copy_bits()
2855 end = start + frag_iter->len; in skb_copy_bits()
2857 if (copy > len) in skb_copy_bits()
2858 copy = len; in skb_copy_bits()
2861 if ((len -= copy) == 0) in skb_copy_bits()
2869 if (!len) in skb_copy_bits()
2886 static struct page *linear_to_page(struct page *page, unsigned int *len, in linear_to_page() argument
2895 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
2898 page_address(page) + *offset, *len); in linear_to_page()
2900 pfrag->offset += *len; in linear_to_page()
2912 spd->partial[spd->nr_pages - 1].len == offset); in spd_can_coalesce()
2920 unsigned int *len, unsigned int offset, in spd_fill_page() argument
2928 page = linear_to_page(page, len, &offset, sk); in spd_fill_page()
2933 spd->partial[spd->nr_pages - 1].len += *len; in spd_fill_page()
2938 spd->partial[spd->nr_pages].len = *len; in spd_fill_page()
2947 unsigned int *len, in __splice_segment() argument
2952 if (!*len) in __splice_segment()
2967 unsigned int flen = min(*len, plen); in __splice_segment()
2974 *len -= flen; in __splice_segment()
2975 } while (*len && plen); in __splice_segment()
2985 unsigned int *offset, unsigned int *len, in __skb_splice_bits() argument
2999 offset, len, spd, in __skb_splice_bits()
3012 offset, len, spd, false, sk, pipe)) in __skb_splice_bits()
3017 if (*offset >= iter->len) { in __skb_splice_bits()
3018 *offset -= iter->len; in __skb_splice_bits()
3025 if (__skb_splice_bits(iter, pipe, offset, len, spd, sk)) in __skb_splice_bits()
3085 int len, sendmsg_func sendmsg) in __skb_send_sock() argument
3087 unsigned int orig_len = len; in __skb_send_sock()
3095 while (offset < skb_headlen(skb) && len) { in __skb_send_sock()
3099 slen = min_t(int, len, skb_headlen(skb) - offset); in __skb_send_sock()
3112 len -= ret; in __skb_send_sock()
3116 if (!len) in __skb_send_sock()
3132 for (; len && fragidx < skb_shinfo(skb)->nr_frags; fragidx++) { in __skb_send_sock()
3135 slen = min_t(size_t, len, skb_frag_size(frag) - offset); in __skb_send_sock()
3153 len -= ret; in __skb_send_sock()
3161 if (len) { in __skb_send_sock()
3176 return orig_len - len; in __skb_send_sock()
3179 return orig_len == len ? ret : orig_len - len; in __skb_send_sock()
3184 int len) in skb_send_sock_locked() argument
3186 return __skb_send_sock(sk, skb, offset, len, sendmsg_locked); in skb_send_sock_locked()
3191 int skb_send_sock(struct sock *sk, struct sk_buff *skb, int offset, int len) in skb_send_sock() argument
3193 return __skb_send_sock(sk, skb, offset, len, sendmsg_unlocked); in skb_send_sock()
3208 int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len) in skb_store_bits() argument
3214 if (offset > (int)skb->len - len) in skb_store_bits()
3218 if (copy > len) in skb_store_bits()
3219 copy = len; in skb_store_bits()
3221 if ((len -= copy) == 0) in skb_store_bits()
3231 WARN_ON(start > offset + len); in skb_store_bits()
3239 if (copy > len) in skb_store_bits()
3240 copy = len; in skb_store_bits()
3250 if ((len -= copy) == 0) in skb_store_bits()
3261 WARN_ON(start > offset + len); in skb_store_bits()
3263 end = start + frag_iter->len; in skb_store_bits()
3265 if (copy > len) in skb_store_bits()
3266 copy = len; in skb_store_bits()
3270 if ((len -= copy) == 0) in skb_store_bits()
3277 if (!len) in skb_store_bits()
3286 __wsum __skb_checksum(const struct sk_buff *skb, int offset, int len, in __skb_checksum() argument
3296 if (copy > len) in __skb_checksum()
3297 copy = len; in __skb_checksum()
3300 if ((len -= copy) == 0) in __skb_checksum()
3310 WARN_ON(start > offset + len); in __skb_checksum()
3319 if (copy > len) in __skb_checksum()
3320 copy = len; in __skb_checksum()
3336 if (!(len -= copy)) in __skb_checksum()
3346 WARN_ON(start > offset + len); in __skb_checksum()
3348 end = start + frag_iter->len; in __skb_checksum()
3351 if (copy > len) in __skb_checksum()
3352 copy = len; in __skb_checksum()
3357 if ((len -= copy) == 0) in __skb_checksum()
3364 BUG_ON(len); in __skb_checksum()
3371 int len, __wsum csum) in skb_checksum() argument
3378 return __skb_checksum(skb, offset, len, csum, &ops); in skb_checksum()
3385 u8 *to, int len) in skb_copy_and_csum_bits() argument
3395 if (copy > len) in skb_copy_and_csum_bits()
3396 copy = len; in skb_copy_and_csum_bits()
3399 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
3409 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
3419 if (copy > len) in skb_copy_and_csum_bits()
3420 copy = len; in skb_copy_and_csum_bits()
3434 if (!(len -= copy)) in skb_copy_and_csum_bits()
3446 WARN_ON(start > offset + len); in skb_copy_and_csum_bits()
3448 end = start + frag_iter->len; in skb_copy_and_csum_bits()
3450 if (copy > len) in skb_copy_and_csum_bits()
3451 copy = len; in skb_copy_and_csum_bits()
3456 if ((len -= copy) == 0) in skb_copy_and_csum_bits()
3464 BUG_ON(len); in skb_copy_and_csum_bits()
3469 __sum16 __skb_checksum_complete_head(struct sk_buff *skb, int len) in __skb_checksum_complete_head() argument
3473 sum = csum_fold(skb_checksum(skb, 0, len, skb->csum)); in __skb_checksum_complete_head()
3500 csum = skb_checksum(skb, 0, skb->len, 0); in __skb_checksum_complete()
3528 static __wsum warn_crc32c_csum_update(const void *buff, int len, __wsum sum) in warn_crc32c_csum_update() argument
3537 int offset, int len) in warn_crc32c_csum_combine() argument
3571 hlen = from->len; in skb_zerocopy_headlen()
3575 hlen = from->len; in skb_zerocopy_headlen()
3600 skb_zerocopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen) in skb_zerocopy() argument
3611 if (len <= skb_tailroom(to)) in skb_zerocopy()
3612 return skb_copy_bits(from, 0, skb_put(to, len), len); in skb_zerocopy()
3618 len -= hlen; in skb_zerocopy()
3620 plen = min_t(int, skb_headlen(from), len); in skb_zerocopy()
3627 len -= plen; in skb_zerocopy()
3631 skb_len_add(to, len + plen); in skb_zerocopy()
3642 if (!len) in skb_zerocopy()
3646 len); in skb_zerocopy()
3648 len -= size; in skb_zerocopy()
3673 if (csstart != skb->len) in skb_copy_and_csum_dev()
3675 skb->len - csstart); in skb_copy_and_csum_dev()
3876 const u32 len, const int pos) in skb_split_inside_header() argument
3880 skb_copy_from_linear_data_offset(skb, len, skb_put(skb1, pos - len), in skb_split_inside_header()
3881 pos - len); in skb_split_inside_header()
3889 skb1->len += skb1->data_len; in skb_split_inside_header()
3891 skb->len = len; in skb_split_inside_header()
3892 skb_set_tail_pointer(skb, len); in skb_split_inside_header()
3897 const u32 len, int pos) in skb_split_no_header() argument
3903 skb1->len = skb1->data_len = skb->len - len; in skb_split_no_header()
3904 skb->len = len; in skb_split_no_header()
3905 skb->data_len = len - pos; in skb_split_no_header()
3910 if (pos + size > len) { in skb_split_no_header()
3913 if (pos < len) { in skb_split_no_header()
3923 skb_frag_off_add(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
3924 skb_frag_size_sub(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
3925 skb_frag_size_set(&skb_shinfo(skb)->frags[i], len - pos); in skb_split_no_header()
3942 void skb_split(struct sk_buff *skb, struct sk_buff *skb1, const u32 len) in skb_split() argument
3951 if (len < pos) /* Split line is inside header. */ in skb_split()
3952 skb_split_inside_header(skb, skb1, len, pos); in skb_split()
3954 skb_split_no_header(skb, skb1, len, pos); in skb_split()
3990 BUG_ON(shiftlen > skb->len); in skb_shift()
4033 if ((shiftlen == skb->len) && in skb_shift()
4320 void *skb_pull_rcsum(struct sk_buff *skb, unsigned int len) in skb_pull_rcsum() argument
4324 BUG_ON(len > skb->len); in skb_pull_rcsum()
4325 __skb_pull(skb, len); in skb_pull_rcsum()
4326 skb_postpull_rcsum(skb, data, len); in skb_pull_rcsum()
4393 delta_len += nskb->len; in skb_segment_list()
4414 skb->len = skb->len - delta_len; in skb_segment_list()
4456 unsigned int len = head_skb->len; in skb_segment() local
4511 frag_len = list_skb->len; in skb_segment()
4513 if (frag_len != iter->len && iter->next) in skb_segment()
4518 len -= iter->len; in skb_segment()
4521 if (len != frag_len) in skb_segment()
4530 partial_segs = min(len, GSO_BY_FRAGS - 1U) / mss; in skb_segment()
4555 len = list_skb->len; in skb_segment()
4557 len = head_skb->len - offset; in skb_segment()
4558 if (len > mss) in skb_segment()
4559 len = mss; in skb_segment()
4565 (skb_headlen(list_skb) == len || sg)) { in skb_segment()
4566 BUG_ON(skb_headlen(list_skb) > len); in skb_segment()
4578 while (pos < offset + len) { in skb_segment()
4582 if (pos + size > offset + len) in skb_segment()
4592 if (unlikely(pskb_trim(nskb, len))) { in skb_segment()
4609 if (hsize > len || !sg) in skb_segment()
4610 hsize = len; in skb_segment()
4638 if (nskb->len == len + doffset) in skb_segment()
4648 len), in skb_segment()
4649 len); in skb_segment()
4653 if (skb_copy_bits(head_skb, offset, skb_put(nskb, len), len)) in skb_segment()
4670 while (pos < offset + len) { in skb_segment()
4714 if (pos + size <= offset + len) { in skb_segment()
4719 skb_frag_size_sub(nskb_frag, pos + size - (offset + len)); in skb_segment()
4727 nskb->data_len = len - hsize; in skb_segment()
4728 nskb->len += nskb->data_len; in skb_segment()
4741 nskb->len - doffset, 0); in skb_segment()
4745 } while ((offset += len) < head_skb->len); in skb_segment()
4772 if (tail->len - doffset <= gso_size) in skb_segment()
4775 skb_shinfo(tail)->gso_segs = DIV_ROUND_UP(tail->len - doffset, gso_size); in skb_segment()
4885 __skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len, in __skb_to_sgvec() argument
4897 if (copy > len) in __skb_to_sgvec()
4898 copy = len; in __skb_to_sgvec()
4901 if ((len -= copy) == 0) in __skb_to_sgvec()
4909 WARN_ON(start > offset + len); in __skb_to_sgvec()
4917 if (copy > len) in __skb_to_sgvec()
4918 copy = len; in __skb_to_sgvec()
4922 if (!(len -= copy)) in __skb_to_sgvec()
4932 WARN_ON(start > offset + len); in __skb_to_sgvec()
4934 end = start + frag_iter->len; in __skb_to_sgvec()
4939 if (copy > len) in __skb_to_sgvec()
4940 copy = len; in __skb_to_sgvec()
4946 if ((len -= copy) == 0) in __skb_to_sgvec()
4952 BUG_ON(len); in __skb_to_sgvec()
4968 int skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int len) in skb_to_sgvec() argument
4970 int nsg = __skb_to_sgvec(skb, sg, offset, len, 0); in skb_to_sgvec()
5001 int offset, int len) in skb_to_sgvec_nomark() argument
5003 return __skb_to_sgvec(skb, sg, offset, len, 0); in skb_to_sgvec_nomark()
5415 static int skb_maybe_pull_tail(struct sk_buff *skb, unsigned int len, in skb_maybe_pull_tail() argument
5418 if (skb_headlen(skb) >= len) in skb_maybe_pull_tail()
5424 if (max > skb->len) in skb_maybe_pull_tail()
5425 max = skb->len; in skb_maybe_pull_tail()
5430 if (skb_headlen(skb) < len) in skb_maybe_pull_tail()
5504 skb->len - off, in skb_checksum_setup_ipv4()
5525 unsigned int len; in skb_checksum_setup_ipv6() local
5541 len = sizeof(struct ipv6hdr) + ntohs(ipv6_hdr(skb)->payload_len); in skb_checksum_setup_ipv6()
5542 while (off <= len && !done) { in skb_checksum_setup_ipv6()
5613 skb->len - off, nexthdr, 0); in skb_checksum_setup_ipv6()
5664 unsigned int len = skb_transport_offset(skb) + transport_len; in skb_checksum_maybe_trim() local
5667 if (skb->len < len) in skb_checksum_maybe_trim()
5669 else if (skb->len == len) in skb_checksum_maybe_trim()
5676 ret = pskb_trim_rcsum(skb_chk, len); in skb_checksum_maybe_trim()
5762 int i, delta, len = from->len; in skb_try_coalesce() local
5783 if (len <= skb_tailroom(to)) { in skb_try_coalesce()
5784 if (len) in skb_try_coalesce()
5785 BUG_ON(skb_copy_bits(from, 0, skb_put(to, len), len)); in skb_try_coalesce()
5824 WARN_ON_ONCE(delta < len); in skb_try_coalesce()
5841 to->len += len; in skb_try_coalesce()
5842 to->data_len += len; in skb_try_coalesce()
6392 skb->len -= off; in pskb_carve_inside_header()
6448 if (list->len <= eat) { in pskb_carve_frag_list()
6450 eat -= list->len; in pskb_carve_frag_list()
6559 skb->len -= off; in pskb_carve_inside_nonlinear()
6560 skb->data_len = skb->len; in pskb_carve_inside_nonlinear()
6566 static int pskb_carve(struct sk_buff *skb, const u32 len, gfp_t gfp) in pskb_carve() argument
6570 if (len < headlen) in pskb_carve()
6571 return pskb_carve_inside_header(skb, len, headlen, gfp); in pskb_carve()
6573 return pskb_carve_inside_nonlinear(skb, len, headlen, gfp); in pskb_carve()
6676 for (i = 0; i < sp->len; i++) in skb_ext_maybe_cow()
6770 for (i = 0; i < sp->len; i++) in skb_ext_put_sp()
6797 sp->len = 0; in __skb_ext_del()
6877 size_t offset, size_t len) in skb_splice_csum_page() argument
6883 csum = csum_partial(kaddr + offset, len, 0); in skb_splice_csum_page()
6885 skb->csum = csum_block_add(skb->csum, csum, skb->len); in skb_splice_csum_page()
6912 ssize_t space, nr, len; in skb_splice_from_iter() local
6923 len = iov_iter_extract_pages(iter, &ppages, maxsize, nr, 0, &off); in skb_splice_from_iter()
6924 if (len <= 0) { in skb_splice_from_iter()
6925 ret = len ?: -EIO; in skb_splice_from_iter()
6932 size_t part = min_t(size_t, PAGE_SIZE - off, len); in skb_splice_from_iter()
6941 iov_iter_revert(iter, len); in skb_splice_from_iter()
6951 len -= part; in skb_splice_from_iter()
6952 } while (len > 0); in skb_splice_from_iter()