Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/sched/sch_generic.c __skb_dequeue_bad_txq() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 1-ptr_max
DATA_SOURCE 1 skb r skb_peek
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &q->seqlock
HALF_LOCKED2 lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 root_lock

net/sched/sch_generic.c dequeue_skb() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
DATA_SOURCE 1 skb r skb_peek
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &q->seqlock
HALF_LOCKED2 lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 root_lock

net/sched/sch_generic.c qdisc_restart() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 1 skb 1
DATA_SOURCE 1 skb r dequeue_skb
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->extensions
NO_OVERFLOW_SIMPLE 1 skb->next->end
UNITS 0 dev unit_byte
HALF_LOCKED2 &q->seqlock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 root_lock

drivers/net/ethernet/xilinx/xilinx_axienet_main.c axienet_dma_tx_cb() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ioat_chan->cleanup_lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 &pd_chan->lock
HALF_LOCKED2 &plxdev->ring_lock
HALF_LOCKED2 &swdma_chan->complete_lock
HALF_LOCKED2 &td_chan->lock
HALF_LOCKED2 bh

drivers/net/ethernet/xilinx/xilinx_axienet_main.c axienet_start_xmit_dmaengine() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 1 skb 1
DATA_SOURCE 1 skb $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 skb->csum_offset 0-u16max
HOST_DATA 1 skb->data_len 0-2147483648[c]
HOST_DATA 1 skb->len 0-u32max[c]
HOST_DATA 1 skb->next->csum_offset 0-u16max
HOST_DATA 1 skb->next->data_len 0-u32max[c]
HOST_DATA 1 skb->next->len 1-u32max[c]
HOST_DATA 1 skb->prev->csum_offset 0-u16max
HOST_DATA 1 skb->prev->data_len 0-u32max[c]
HOST_DATA 1 skb->prev->len 0-u32max[c]
HOST_DATA 1 skb->prev->truesize 0-u32max
HOST_DATA 1 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->prev->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 *skb->data 0-255
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->dev->group
NO_OVERFLOW_SIMPLE 1 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 1 skb->dev->proto_down
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->extensions
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->prev->data_len
NO_OVERFLOW_SIMPLE 1 skb->prev->end
NO_OVERFLOW_SIMPLE 1 skb->prev->len
NO_OVERFLOW_SIMPLE 1 skb->prev->tail
NO_OVERFLOW_SIMPLE 1 skb->prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->tail
NO_OVERFLOW_SIMPLE 1 skb->truesize
HALF_LOCKED2 &ndev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/core/pktgen.c pktgen_xmit() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 skb 1-u64max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
USER_PTR 1 skb->data

net/ipv6/ioam6.c __ioam6_fill_trace_data() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->num_tx_queues 1-u32max
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 0 dev->ip6_ptr 1
DATA_SOURCE 0 dev r skb_dst_dev_rcu
DATA_SOURCE 1 skb $0
BIT_INFO 0 dev->flags 0x0,0xfffffff7
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 skb->csum_offset 0-u16max
HOST_DATA 1 skb->data_len 0-u32max[c]
HOST_DATA 1 skb->len 0-u32max[c]
HOST_DATA 1 skb->prev->csum_offset 0-u16max
HOST_DATA 1 skb->prev->data_len 0-u32max[c]
HOST_DATA 1 skb->prev->len 0-u32max[c]
HOST_DATA 1 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->truesize 0-u32max
HOST_DATA 1 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 *skb->data 0-255
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->dev->group
NO_OVERFLOW_SIMPLE 1 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 1 skb->dev->proto_down
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->extensions
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->next->data_len
NO_OVERFLOW_SIMPLE 1 skb->next->end
NO_OVERFLOW_SIMPLE 1 skb->next->len
NO_OVERFLOW_SIMPLE 1 skb->next->tail
NO_OVERFLOW_SIMPLE 1 skb->next->truesize
NO_OVERFLOW_SIMPLE 1 skb->prev->end
NO_OVERFLOW_SIMPLE 1 skb->prev->len
NO_OVERFLOW_SIMPLE 1 skb->prev->tail
NO_OVERFLOW_SIMPLE 1 skb->prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 1 skb->tail
NO_OVERFLOW_SIMPLE 1 skb->truesize
UNITS 1 skb unit_byte
LOCK2 rcu_read

drivers/net/ethernet/airoha/airoha_eth.c airoha_dev_xmit() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 1 skb 1
DATA_SOURCE 0 dev $1
DATA_SOURCE 1 skb $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 skb->csum_offset 0-u16max
HOST_DATA 1 skb->data_len 0-2147483648[c]
HOST_DATA 1 skb->len 0-u32max[c]
HOST_DATA 1 skb->next->csum_offset 0-u16max
HOST_DATA 1 skb->next->data_len 0-u32max[c]
HOST_DATA 1 skb->next->len 1-u32max[c]
HOST_DATA 1 skb->prev->csum_offset 0-u16max
HOST_DATA 1 skb->prev->data_len 0-u32max[c]
HOST_DATA 1 skb->prev->len 0-u32max[c]
HOST_DATA 1 skb->prev->truesize 0-u32max
HOST_DATA 1 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->prev->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 *skb->data 0-255
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->dev->group
NO_OVERFLOW_SIMPLE 1 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 1 skb->dev->proto_down
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->extensions
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->prev->data_len
NO_OVERFLOW_SIMPLE 1 skb->prev->end
NO_OVERFLOW_SIMPLE 1 skb->prev->len
NO_OVERFLOW_SIMPLE 1 skb->prev->tail
NO_OVERFLOW_SIMPLE 1 skb->prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->tail
NO_OVERFLOW_SIMPLE 1 skb->truesize
LOCK2 &q->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &dev->tx_global_lock
TYPE_LOCK (struct airoha_queue)->lock

drivers/net/ethernet/airoha/airoha_eth.c airoha_qdma_tx_cleanup() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &q->lock
LOCK2 bh
HALF_LOCKED2 &_dev->mutex
TYPE_LOCK (struct airoha_queue)->lock

drivers/net/ethernet/airoha/airoha_eth.c airoha_qdma_tx_napi_poll() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &q->lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct airoha_queue)->lock

net/core/dev.c __dev_direct_xmit() -> skb_get_tx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 0 dev 1
CAPPED_DATA 1 skb 1
DATA_SOURCE 1 skb r validate_xmit_skb_list
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 skb->csum_offset 0-u16max
HOST_DATA 1 skb->data_len 0-2147483648[c]
HOST_DATA 1 skb->len 0-u32max[c]
HOST_DATA 1 skb->prev->csum_offset 0-u16max
HOST_DATA 1 skb->prev->data_len 0-u32max[c]
HOST_DATA 1 skb->prev->len 0-u32max[c]
HOST_DATA 1 skb->prev->truesize 0-u32max
HOST_DATA 1 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->prev->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 *skb->data 0-255
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->dev->group
NO_OVERFLOW_SIMPLE 1 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 1 skb->dev->proto_down
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->next->end
NO_OVERFLOW_SIMPLE 1 skb->next->len
NO_OVERFLOW_SIMPLE 1 skb->prev->end
NO_OVERFLOW_SIMPLE 1 skb->prev->len
NO_OVERFLOW_SIMPLE 1 skb->prev->tail
NO_OVERFLOW_SIMPLE 1 skb->prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 1 skb->tail
NO_OVERFLOW_SIMPLE 1 skb->truesize
UNITS 0 dev unit_byte
UNITS 1 skb unit_byte
HALF_LOCKED2 &xs->mutex