/kernel/linux/linux-6.6/net/tls/ |
H A D | tls_strp.c | 31 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_anchor_free() local 33 DEBUG_NET_WARN_ON_ONCE(atomic_read(&shinfo->dataref) != 1); in tls_strp_anchor_free() 35 shinfo->frag_list = NULL; in tls_strp_anchor_free() 146 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_msg_hold() local 151 WARN_ON_ONCE(!shinfo->nr_frags); in tls_strp_msg_hold() 166 iter = shinfo->frag_list; in tls_strp_msg_hold() 193 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_flush_anchor_copy() local 196 DEBUG_NET_WARN_ON_ONCE(atomic_read(&shinfo->dataref) != 1); in tls_strp_flush_anchor_copy() 198 for (i = 0; i < shinfo->nr_frags; i++) in tls_strp_flush_anchor_copy() 199 __skb_frag_unref(&shinfo in tls_strp_flush_anchor_copy() 284 struct skb_shared_info *shinfo; tls_strp_copyin_skb() local 386 struct skb_shared_info *shinfo; tls_strp_read_copy() local [all...] |
/kernel/linux/linux-6.6/net/core/ |
H A D | gso.c | 145 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_transport_seglen() local 152 if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) in skb_gso_transport_seglen() 154 } else if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) { in skb_gso_transport_seglen() 158 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in skb_gso_transport_seglen() 165 return thlen + shinfo->gso_size; in skb_gso_transport_seglen() 226 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_size_check() local 229 if (shinfo->gso_size != GSO_BY_FRAGS) in skb_gso_size_check()
|
H A D | skbuff.c | 347 struct skb_shared_info *shinfo; in __finalize_skb_around() local 361 /* make sure we initialize shinfo sequentially */ in __finalize_skb_around() 362 shinfo = skb_shinfo(skb); in __finalize_skb_around() 363 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __finalize_skb_around() 364 atomic_set(&shinfo->dataref, 1); in __finalize_skb_around() 964 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_release_data() local 969 &shinfo->dataref)) in skb_release_data() 973 bool skip_unref = shinfo->flags & SKBFL_MANAGED_FRAG_REFS; in skb_release_data() 980 for (i = 0; i < shinfo->nr_frags; i++) in skb_release_data() 981 napi_frag_unref(&shinfo in skb_release_data() 2187 struct skb_shared_info *shinfo; __skb_unclone_keeptruesize() local 6418 pskb_carve_frag_list(struct sk_buff *skb, struct skb_shared_info *shinfo, int eat, gfp_t gfp_mask) pskb_carve_frag_list() argument 6479 struct skb_shared_info *shinfo; pskb_carve_inside_nonlinear() local [all...] |
H A D | lwt_bpf.c | 526 struct skb_shared_info *shinfo = skb_shinfo(skb); in handle_gso_type() local 529 shinfo->gso_type |= gso_type; in handle_gso_type() 530 skb_decrease_gso_size(shinfo, encap_len); in handle_gso_type() 531 shinfo->gso_segs = 0; in handle_gso_type()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/ |
H A D | xen_shinfo_test.c | 455 struct shared_info *shinfo = addr_gpa2hva(vm, SHINFO_VADDR); in main() local 498 * Test what happens when the HVA of the shinfo page is remapped after in main() 502 struct pvclock_wall_clock wc_copy = shinfo->wc; in main() 503 void *m = mmap(shinfo, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_FIXED|MAP_PRIVATE, zero_fd, 0); in main() 504 TEST_ASSERT(m == shinfo, "Failed to map /dev/zero over shared info"); in main() 505 shinfo->wc = wc_copy; in main() 701 shinfo->evtchn_mask[0] = 1UL << EVTCHN_TEST1; in main() 710 shinfo->evtchn_pending[0] = 0; in main() 711 shinfo->evtchn_mask[0] = 0; in main() 720 shinfo in main() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_tx.c | 601 const struct skb_shared_info *shinfo, in is_inline() 609 if (shinfo->nr_frags == 1) { in is_inline() 610 ptr = skb_frag_address_safe(&shinfo->frags[0]); in is_inline() 616 if (shinfo->nr_frags) in is_inline() 633 const struct skb_shared_info *shinfo, in get_real_size() 642 if (shinfo->gso_size) { in get_real_size() 648 real_size = CTRL_SIZE + shinfo->nr_frags * DS_SIZE + in get_real_size() 664 shinfo, pfrag); in get_real_size() 670 (shinfo->nr_frags + 1) * DS_SIZE; in get_real_size() 678 const struct skb_shared_info *shinfo, in build_inline_wqe() 600 is_inline(int inline_thold, const struct sk_buff *skb, const struct skb_shared_info *shinfo, void **pfrag) is_inline() argument 632 get_real_size(const struct sk_buff *skb, const struct skb_shared_info *shinfo, struct net_device *dev, int *lso_header_size, bool *inline_ok, void **pfrag) get_real_size() argument 676 build_inline_wqe(struct mlx4_en_tx_desc *tx_desc, const struct sk_buff *skb, const struct skb_shared_info *shinfo, void *fragptr) build_inline_wqe() argument 798 mlx4_en_build_dma_wqe(struct mlx4_en_priv *priv, struct skb_shared_info *shinfo, struct mlx4_wqe_data_seg *data, struct sk_buff *skb, int lso_header_size, __be32 mr_key, struct mlx4_en_tx_info *tx_info) mlx4_en_build_dma_wqe() argument 864 struct skb_shared_info *shinfo = skb_shinfo(skb); mlx4_en_xmit() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_tx.c | 606 const struct skb_shared_info *shinfo, in is_inline() 614 if (shinfo->nr_frags == 1) { in is_inline() 615 ptr = skb_frag_address_safe(&shinfo->frags[0]); in is_inline() 621 if (shinfo->nr_frags) in is_inline() 638 const struct skb_shared_info *shinfo, in get_real_size() 648 if (shinfo->gso_size) { in get_real_size() 662 real_size = CTRL_SIZE + shinfo->nr_frags * DS_SIZE + in get_real_size() 678 shinfo, pfrag); in get_real_size() 684 (shinfo->nr_frags + 1) * DS_SIZE; in get_real_size() 692 const struct skb_shared_info *shinfo, in build_inline_wqe() 605 is_inline(int inline_thold, const struct sk_buff *skb, const struct skb_shared_info *shinfo, void **pfrag) is_inline() argument 637 get_real_size(const struct sk_buff *skb, const struct skb_shared_info *shinfo, struct net_device *dev, int *lso_header_size, bool *inline_ok, void **pfrag, int *hopbyhop) get_real_size() argument 690 build_inline_wqe(struct mlx4_en_tx_desc *tx_desc, const struct sk_buff *skb, const struct skb_shared_info *shinfo, void *fragptr) build_inline_wqe() argument 811 mlx4_en_build_dma_wqe(struct mlx4_en_priv *priv, struct skb_shared_info *shinfo, struct mlx4_wqe_data_seg *data, struct sk_buff *skb, int lso_header_size, __be32 mr_key, struct mlx4_en_tx_info *tx_info) mlx4_en_build_dma_wqe() argument 877 struct skb_shared_info *shinfo = skb_shinfo(skb); mlx4_en_xmit() local [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | virtio_net.h | 145 struct skb_shared_info *shinfo = skb_shinfo(skb); in virtio_net_hdr_to_skb() local 157 shinfo->gso_size = gso_size; in virtio_net_hdr_to_skb() 158 shinfo->gso_type = gso_type; in virtio_net_hdr_to_skb() 161 shinfo->gso_type |= SKB_GSO_DODGY; in virtio_net_hdr_to_skb() 162 shinfo->gso_segs = 0; in virtio_net_hdr_to_skb()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | virtio_net.h | 157 struct skb_shared_info *shinfo = skb_shinfo(skb); in virtio_net_hdr_to_skb() local 182 shinfo->gso_size = gso_size; in virtio_net_hdr_to_skb() 183 shinfo->gso_type = gso_type; in virtio_net_hdr_to_skb() 186 shinfo->gso_type |= SKB_GSO_DODGY; in virtio_net_hdr_to_skb() 187 shinfo->gso_segs = 0; in virtio_net_hdr_to_skb()
|
H A D | skbuff.h | 2431 static inline void __skb_fill_page_desc_noacc(struct skb_shared_info *shinfo, in __skb_fill_page_desc_noacc() argument 2435 skb_frag_t *frag = &shinfo->frags[i]; in __skb_fill_page_desc_noacc() 2515 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_fill_page_desc_noacc() local 2517 __skb_fill_page_desc_noacc(shinfo, i, page, off, size); in skb_fill_page_desc_noacc() 2518 shinfo->nr_frags = i + 1; in skb_fill_page_desc_noacc() 3475 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_frag_unref() local 3478 __skb_frag_unref(&shinfo->frags[f], skb->pp_recycle); in skb_frag_unref() 4895 static inline void skb_increase_gso_size(struct skb_shared_info *shinfo, in skb_increase_gso_size() argument 4898 if (WARN_ON_ONCE(shinfo->gso_size == GSO_BY_FRAGS)) in skb_increase_gso_size() 4900 shinfo in skb_increase_gso_size() 4903 skb_decrease_gso_size(struct skb_shared_info *shinfo, u16 decrement) skb_decrease_gso_size() argument 4917 const struct skb_shared_info *shinfo = skb_shinfo(skb); skb_warn_if_lro() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/fungible/funeth/ |
H A D | funeth_tx.c | 154 const struct skb_shared_info *shinfo; in write_pkt_desc() local 164 shinfo = skb_shinfo(skb); in write_pkt_desc() 165 if (unlikely(fun_map_pkt(q->dma_dev, shinfo, skb->data, in write_pkt_desc() 179 if (likely(shinfo->gso_size)) { in write_pkt_desc() 186 if (shinfo->gso_type & (SKB_GSO_UDP_TUNNEL | in write_pkt_desc() 190 if (shinfo->gso_type & SKB_GSO_UDP_TUNNEL_CSUM) in write_pkt_desc() 213 shinfo->gso_size, in write_pkt_desc() 219 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in write_pkt_desc() 232 shinfo->gso_size, in write_pkt_desc() 242 if (shinfo in write_pkt_desc() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeon_ep/ |
H A D | octep_tx.c | 38 struct skb_shared_info *shinfo; in octep_iq_process_completions() local 67 shinfo = skb_shinfo(skb); in octep_iq_process_completions() 68 frags = shinfo->nr_frags; in octep_iq_process_completions() 108 struct skb_shared_info *shinfo; in octep_iq_free_pending() local 129 shinfo = skb_shinfo(skb); in octep_iq_free_pending() 130 frags = shinfo->nr_frags; in octep_iq_free_pending()
|
H A D | octep_rx.c | 404 struct skb_shared_info *shinfo; in __octep_oq_process_rx() local 418 shinfo = skb_shinfo(skb); in __octep_oq_process_rx() 433 skb_add_rx_frag(skb, shinfo->nr_frags, in __octep_oq_process_rx()
|
/kernel/linux/linux-6.6/drivers/net/xen-netback/ |
H A D | netback.c | 385 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_get_requests() local 386 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests() 394 nr_slots = shinfo->nr_frags + frag_overflow + 1; in xenvif_get_requests() 460 for (shinfo->nr_frags = 0; nr_slots > 0 && shinfo->nr_frags < MAX_SKB_FRAGS; in xenvif_get_requests() 472 frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); in xenvif_get_requests() 473 ++shinfo->nr_frags; in xenvif_get_requests() 484 shinfo = skb_shinfo(nskb); in xenvif_get_requests() 485 frags = shinfo->frags; in xenvif_get_requests() 487 for (shinfo in xenvif_get_requests() 559 struct skb_shared_info *shinfo = skb_shinfo(skb); xenvif_tx_check_gop() local 688 struct skb_shared_info *shinfo = skb_shinfo(skb); xenvif_fill_frags() local [all...] |
/kernel/linux/linux-5.10/drivers/net/xen-netback/ |
H A D | netback.c | 385 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_get_requests() local 386 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests() 394 nr_slots = shinfo->nr_frags + frag_overflow + 1; in xenvif_get_requests() 460 for (shinfo->nr_frags = 0; nr_slots > 0 && shinfo->nr_frags < MAX_SKB_FRAGS; in xenvif_get_requests() 472 frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); in xenvif_get_requests() 473 ++shinfo->nr_frags; in xenvif_get_requests() 484 shinfo = skb_shinfo(nskb); in xenvif_get_requests() 485 frags = shinfo->frags; in xenvif_get_requests() 487 for (shinfo in xenvif_get_requests() 559 struct skb_shared_info *shinfo = skb_shinfo(skb); xenvif_tx_check_gop() local 688 struct skb_shared_info *shinfo = skb_shinfo(skb); xenvif_fill_frags() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/google/gve/ |
H A D | gve_tx_dqo.c | 585 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy_dqo() local 612 /*eop=*/shinfo->nr_frags == 0, is_gso); in gve_tx_add_skb_no_copy_dqo() 615 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy_dqo() 616 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy_dqo() 617 bool is_eop = i == (shinfo->nr_frags - 1); in gve_tx_add_skb_no_copy_dqo() 796 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_num_buffer_descs_needed() local 802 for (i = 0; i < shinfo->nr_frags; i++) { in gve_num_buffer_descs_needed() 803 unsigned int frag_size = skb_frag_size(&shinfo->frags[i]); in gve_num_buffer_descs_needed() 821 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_can_send_tso() local 823 const int gso_size = shinfo in gve_can_send_tso() [all...] |
H A D | gve_rx_dqo.c | 701 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_rx_complete_rsc() local 709 shinfo->gso_type = SKB_GSO_TCPV4; in gve_rx_complete_rsc() 712 shinfo->gso_type = SKB_GSO_TCPV6; in gve_rx_complete_rsc() 718 shinfo->gso_size = le16_to_cpu(desc->rsc_seg_len); in gve_rx_complete_rsc()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_xdp.c | 206 struct skb_shared_info *shinfo; in bnxt_xdp_buff_frags_free() local 211 shinfo = xdp_get_shared_info_from_buff(xdp); in bnxt_xdp_buff_frags_free() 212 for (i = 0; i < shinfo->nr_frags; i++) { in bnxt_xdp_buff_frags_free() 213 struct page *page = skb_frag_page(&shinfo->frags[i]); in bnxt_xdp_buff_frags_free() 217 shinfo->nr_frags = 0; in bnxt_xdp_buff_frags_free()
|
/kernel/linux/linux-6.6/arch/x86/kvm/ |
H A D | xen.c | 84 struct shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init() local 86 wc_sec_hi = &shinfo->wc_sec_hi; in kvm_xen_shared_info_init() 87 wc = &shinfo->wc; in kvm_xen_shared_info_init() 91 struct compat_shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init() local 93 wc_sec_hi = &shinfo->arch.wc_sec_hi; in kvm_xen_shared_info_init() 94 wc = &shinfo->wc; in kvm_xen_shared_info_init() 1184 struct shared_info *shinfo = gpc->khva; in wait_pending_event() local 1185 pending_bits = (unsigned long *)&shinfo->evtchn_pending; in wait_pending_event() 1187 struct compat_shared_info *shinfo = gpc->khva; in wait_pending_event() local 1188 pending_bits = (unsigned long *)&shinfo in wait_pending_event() 1587 struct shared_info *shinfo = gpc->khva; kvm_xen_set_evtchn_fast() local 1592 struct compat_shared_info *shinfo = gpc->khva; kvm_xen_set_evtchn_fast() local [all...] |
/kernel/linux/linux-6.6/drivers/net/wwan/t7xx/ |
H A D | t7xx_hif_dpmaif_tx.c | 247 struct skb_shared_info *shinfo; in t7xx_dpmaif_add_skb_to_ring() local 261 shinfo = skb_shinfo(skb); in t7xx_dpmaif_add_skb_to_ring() 262 if (shinfo->frag_list) in t7xx_dpmaif_add_skb_to_ring() 265 payload_cnt = shinfo->nr_frags + 1; in t7xx_dpmaif_add_skb_to_ring() 290 skb_frag_t *frag = shinfo->frags + wr_cnt - 1; in t7xx_dpmaif_add_skb_to_ring()
|
/kernel/linux/linux-5.10/net/core/ |
H A D | skbuff.c | 186 struct skb_shared_info *shinfo; in __alloc_skb() local 237 /* make sure we initialize shinfo sequentially */ in __alloc_skb() 238 shinfo = skb_shinfo(skb); in __alloc_skb() 239 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __alloc_skb() 240 atomic_set(&shinfo->dataref, 1); in __alloc_skb() 268 struct skb_shared_info *shinfo; in __build_skb_around() local 283 /* make sure we initialize shinfo sequentially */ in __build_skb_around() 284 shinfo = skb_shinfo(skb); in __build_skb_around() 285 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __build_skb_around() 286 atomic_set(&shinfo in __build_skb_around() 609 struct skb_shared_info *shinfo = skb_shinfo(skb); skb_release_data() local 5333 const struct skb_shared_info *shinfo = skb_shinfo(skb); skb_gso_transport_seglen() local 5414 const struct skb_shared_info *shinfo = skb_shinfo(skb); skb_gso_size_check() local 6030 pskb_carve_frag_list(struct sk_buff *skb, struct skb_shared_info *shinfo, int eat, gfp_t gfp_mask) pskb_carve_frag_list() argument 6091 struct skb_shared_info *shinfo; pskb_carve_inside_nonlinear() local [all...] |
H A D | lwt_bpf.c | 525 struct skb_shared_info *shinfo = skb_shinfo(skb); in handle_gso_type() local 528 shinfo->gso_type |= gso_type; in handle_gso_type() 529 skb_decrease_gso_size(shinfo, encap_len); in handle_gso_type() 530 shinfo->gso_segs = 0; in handle_gso_type()
|
/kernel/linux/linux-5.10/net/ipv4/ |
H A D | tcp_output.c | 1493 struct skb_shared_info *shinfo = skb_shinfo(skb); in tcp_fragment_tstamp() local 1496 !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { in tcp_fragment_tstamp() 1498 u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; in tcp_fragment_tstamp() 1500 shinfo->tx_flags &= ~tsflags; in tcp_fragment_tstamp() 1502 swap(shinfo->tskey, shinfo2->tskey); in tcp_fragment_tstamp() 1631 struct skb_shared_info *shinfo; in __pskb_trim_head() local 1643 shinfo = skb_shinfo(skb); in __pskb_trim_head() 1644 for (i = 0; i < shinfo->nr_frags; i++) { in __pskb_trim_head() 1645 int size = skb_frag_size(&shinfo->frags[i]); in __pskb_trim_head() 1651 shinfo in __pskb_trim_head() 3041 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_skb_collapse_tstamp() local [all...] |
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | tcp_output.c | 1505 struct skb_shared_info *shinfo = skb_shinfo(skb); in tcp_fragment_tstamp() local 1508 !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { in tcp_fragment_tstamp() 1510 u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; in tcp_fragment_tstamp() 1512 shinfo->tx_flags &= ~tsflags; in tcp_fragment_tstamp() 1514 swap(shinfo->tskey, shinfo2->tskey); in tcp_fragment_tstamp() 1640 struct skb_shared_info *shinfo; in __pskb_trim_head() local 1646 shinfo = skb_shinfo(skb); in __pskb_trim_head() 1647 for (i = 0; i < shinfo->nr_frags; i++) { in __pskb_trim_head() 1648 int size = skb_frag_size(&shinfo->frags[i]); in __pskb_trim_head() 1654 shinfo in __pskb_trim_head() 3143 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_skb_collapse_tstamp() local [all...] |
/kernel/linux/linux-5.10/drivers/net/wireless/mediatek/mt76/ |
H A D | dma.c | 522 struct skb_shared_info *shinfo = skb_shinfo(skb); in mt76_add_fragment() local 523 int nr_frags = shinfo->nr_frags; in mt76_add_fragment() 525 if (nr_frags < ARRAY_SIZE(shinfo->frags)) { in mt76_add_fragment() 538 if (nr_frags < ARRAY_SIZE(shinfo->frags)) in mt76_add_fragment()
|