Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 36 files:

Smatch caller information:

drivers/net/ethernet/freescale/enetc/enetc.c enetc_clean_tx_ring() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
DATA_SOURCE 0 xdpf r enetc_tx_swbd_get_xdp_frame
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/freescale/enetc/enetc.c enetc_free_tx_frame() -> xdp_return_frame()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_tx.c gve_clean_xdp_done() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c bnxt_tx_int_xdp() -> xdp_return_frame()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mediatek/mtk_eth_soc.c mtk_tx_unmap() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-4294967294,4294967296-u64max
BUF_SIZE 0 xdpf 1-s32max
BUF_SIZE 0 xdpf 1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &eth->page_lock
HALF_LOCKED2 &eth->page_lock

drivers/net/ethernet/freescale/dpaa/dpaa_eth.c dpaa_cleanup_tx_fd() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/broadcom/bnxt/bnxt.c bnxt_free_one_tx_ring_skbs() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_handle_packet_completion() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

kernel/bpf/cpumap.c __cpu_map_ring_cleanup() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
BUF_SIZE 0 xdpf 1-s32max
DATA_SOURCE 0 xdpf r ptr_ring_consume
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/bpf/cpumap.c cpu_map_bpf_prog_run_xdp() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

kernel/bpf/cpumap.c cpu_map_bpf_prog_run_xdp() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

kernel/bpf/cpumap.c cpu_map_bpf_prog_run_xdp() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

kernel/bpf/cpumap.c cpu_map_kthread_run() -> xdp_return_frame()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh

drivers/net/ethernet/aquantia/atlantic/aq_ring.c aq_ring_tx_deinit() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/intel/igc/igc_main.c igc_clean_tx_irq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igc/igc_main.c igc_clean_tx_ring() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/intel/i40e/i40e_xsk.c i40e_clean_xdp_tx_buffer() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c dpaa2_eth_free_tx_fd() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/bpf/test_run.c xdp_recv_frames() -> xdp_return_frame()

Type Parameter Key Value
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

net/bpf/test_run.c xdp_recv_frames() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

drivers/net/ethernet/intel/ice/ice_txrx.c ice_unmap_and_free_tx_buf() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c mlx5e_xmit_xdp_buff() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c mlx5e_xmit_xdp_buff() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c stmmac_free_tx_buffer() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c stmmac_tx_clean() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 rcu_read

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c stmmac_xdp_xmit_back() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 18379471554275704832,18446612682070032384
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/veth.c veth_ptr_free() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 0,2-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rtnl_mutex

drivers/net/veth.c veth_xdp_flush_bq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

drivers/net/veth.c veth_xdp_rcv_bulk_skb() -> xdp_return_frame()

Type Parameter Key Value
NOCHECK_CALL

drivers/net/veth.c veth_xdp_rcv_bulk_skb() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
NOCHECK_CALL

drivers/net/veth.c veth_xdp_rcv_one() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PARAM_VALUE 0 xdpf->flags 1-u32max
BUF_SIZE 0 xdpf (-1),40
BUF_SIZE 0 xdpf (-1),40
DATA_SOURCE 0 xdpf $1 [m]
NOCHECK_CALL

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_clean_tx_irq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_clean_tx_ring() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c otx2_xdp_xmit_tx() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
CAPPED_DATA 0 xdpf->data 1
DATA_SOURCE 0 xdpf $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igb/igb_main.c igb_clean_tx_irq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igb/igb_main.c igb_clean_tx_ring() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/amazon/ena/ena_netdev.c ena_free_tx_bufs() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/amazon/ena/ena_netdev.c ena_xdp_execute() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 18379471554275704832,18446612682070032384
PARAM_VALUE 0 xdpf->flags 0-4294967295
PARAM_VALUE 0 xdpf->frame_sz 0-4294967295
PARAM_VALUE 0 xdpf->headroom 0-4294967295
PARAM_VALUE 0 xdpf->len 0-4294967295
PARAM_VALUE 0 xdpf->mem_type 0-4294967295
PARAM_VALUE 0 xdpf->metasize 0-4294967295
BUF_SIZE 0 xdpf (-1),1-s32max
BUF_SIZE 0 xdpf (-1),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
LOCK2 &xdp_ring->xdp_tx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ena_ring)->xdp_tx_lock

drivers/net/ethernet/amazon/ena/ena_xdp.c ena_clean_xdp_irq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c otx2_xdp_rcv_pkt_handler() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 0,4096-ptr_max
PARAM_VALUE 0 xdpf->flags 0-4294967295
PARAM_VALUE 0 xdpf->frame_sz 0-4294967295
PARAM_VALUE 0 xdpf->headroom 0-4294967295
PARAM_VALUE 0 xdpf->len 0-4294967295
PARAM_VALUE 0 xdpf->mem_type 0-4294967295
PARAM_VALUE 0 xdpf->metasize 0-4294967295
BUF_SIZE 0 xdpf (-1),1-s32max
BUF_SIZE 0 xdpf (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c otx2_xdp_snd_pkt_handler() -> xdp_return_frame()

Type Parameter Key Value
NOCHECK_CALL
UNITS 0 xdpf unit_byte

net/core/xdp.c xdp_return_frame_bulk() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PARAM_VALUE 0 xdpf->mem_type 0-1,3-u32max
BUF_SIZE 0 xdpf (-1),1-s32max
BUF_SIZE 0 xdpf (-1),1-s32max
DATA_SOURCE 0 xdpf $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &dring->lock
HALF_LOCKED2 &lan966x->tx_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/tun.c tun_do_read() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
DATA_SOURCE 0 xdpf r tun_ptr_to_xdp
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 xdpf->data

drivers/net/tun.c tun_ptr_free() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 0,2-u64max
DATA_SOURCE 0 xdpf r tun_ptr_to_xdp
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &r->consumer_lock
HALF_LOCKED2 &r->producer_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c ixgbe_clean_xdp_tx_buffer() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/fungible/funeth/funeth_tx.c fun_xdpq_clean() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 rcu_read

drivers/net/ethernet/fungible/funeth/funeth_tx.c fun_xdpq_purge() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/freescale/fec_main.c fec_enet_bd_init() -> xdp_return_frame()

Type Parameter Key Value
BUF_SIZE 0 xdpf 1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->ethtool->rss_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &phydev->lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/freescale/fec_main.c fec_enet_free_buffers() -> xdp_return_frame()

Type Parameter Key Value
BUF_SIZE 0 xdpf 1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ndev->ethtool->rss_lock
HALF_LOCKED2 &ndev->lock

drivers/net/virtio_net.c __free_old_xmit() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
PARAM_VALUE 0 xdpf->flags 1-u32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c virtnet_sq_free_unused_buf() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 0,4-u64max
DATA_SOURCE 0 xdpf $1 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/qlogic/qede/qede_fp.c qede_xdp_tx_int() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_clean_tx_irq() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_unmap_and_free_tx_resource() -> xdp_return_frame()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_xdp_tx_desc_clean() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 xdpf unit_byte
LOCK2 rcu_read

drivers/net/ethernet/ti/cpsw_priv.c cpsw_tx_handler() -> xdp_return_frame()

Type Parameter Key Value
PARAM_VALUE 0 xdpf 0,2-4294967294
DATA_SOURCE 0 xdpf r cpsw_handle_to_xdpf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL