Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

drivers/net/netkit.c netkit_queue_unlease() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 1-s32max
BUF_SIZE 0 dev->name_node (-1),64
BUF_SIZE 0 dev->name_node->name (-1),16
CAPPED_DATA 0 dev 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 rxq
UNITS 1 rxq unit_array_size
LOCK2 0 &dev->lock

drivers/net/netkit.c netkit_xsk() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 1 rxq
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &dev->lock

drivers/net/netkit.c netkit_xsk_wakeup() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
HALF_LOCKED2 rcu_read

net/core/devmem.c net_devmem_bind_dmabuf_to_queue() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-63
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 0 dev->real_num_rx_queues 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
LOCK2 &dev->lock
LOCK2 &priv->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_nl_sock)->lock

net/core/netdev_rx_queue.c __netif_get_rx_queue_lease() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-s32max[c]
HALF_LOCKED2 &dev->lock

net/core/netdev_rx_queue.c __netif_mp_close_rxq() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-s32max[c]
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &dev_lease->lock
HALF_LOCKED2 0 &dev->lock

net/core/netdev_rx_queue.c __netif_mp_open_rxq() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
CONSTRAINT 1 rxq <4123
NOSPEC 1 rxq
NOSPEC 1 rxq
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-s32max[c]
UNITS 1 rxq unit_array_size
LOCK2 &dev->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &dev->lock

net/core/netdev_rx_queue.c netdev_rx_queue_reconfig() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
NOSPEC 1 rxq
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-s32max[c]
UNITS 0 dev unit_byte
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 0 &dev->lock

net/core/netdev_rx_queue.c netif_rxq_has_mp() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev->real_num_rx_queues 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &dev->lock

net/core/netdev_rx_queue.c netif_rxq_has_unreadable_mp() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 1-s32max[c]
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &priv->state_lock
HALF_LOCKED2 0 &dev->lock

net/core/netdev_rx_queue.c netif_rxq_is_leased() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
NOSPEC 1 rxq
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-s32max[c]
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &dev->lock

net/core/page_pool.c page_pool_init() -> __netif_get_rx_queue()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

net/core/netdev_queues.c netdev_queue_get_dma_dev() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 0-4294967294[c]
UNITS 1 rxq unit_array_size
LOCK2 &dev->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 _T->lock

net/bpf/test_run.c bpf_prog_test_run_xdp() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 1 rxq 0
UNITS 0 dev unit_byte

net/bpf/test_run.c xdp_convert_md_to_buff() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev->ifindex 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev r dev_get_by_index
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
USER_DATA 1 rxq 0-s32max[c]
UNITS 1 rxq unit_array_size

net/core/netdev-genl.c netdev_find_netmem_tx_dev() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-s32max
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
LOCK2 &dev->lock
LOCK2 &priv->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_nl_sock)->lock

net/core/netdev-genl.c netdev_nl_queue_create_doit() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 0 dev->real_num_rx_queues 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 1 rxq r nla_get_u32
PARAM_COMPARE 0 dev == $0
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
LOCK2 &dev->lock
LOCK2 0 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_device)->lock

net/core/netdev-genl.c netdev_nl_queue_create_doit() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev r netdev_get_by_index_lock
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
LOCK2 &dev_lease->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_device)->lock

net/core/netdev-genl.c netdev_nl_queue_create_doit() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 1-s32max
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 0 dev->real_num_rx_queues 1
DATA_SOURCE 0 dev r netdev_get_by_index_lock
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
LOCK2 &dev_lease->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct net_device)->lock

net/core/netdev-genl.c netdev_nl_queue_fill_one() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $1
DATA_SOURCE 1 rxq $2
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size

net/xdp/xsk.c xsk_bind() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-4294967294
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->ifindex 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev r dev_get_by_index
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
LOCK2 &xs->mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &o2nm_cluster_group.cs_subsys.su_mutex
TYPE_LOCK (struct xdp_sock)->mutex

net/xdp/xsk.c xsk_clear_pool_at_qid() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 global &rtnl_mutex

net/xdp/xsk.c xsk_dev_queue_valid() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 rxq 0-u16max
CAPPED_DATA 1 rxq 1
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
UNITS 1 rxq unit_array_size
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/xdp/xsk.c xsk_reg_pool_at_qid() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
CAPPED_DATA 0 dev->real_num_rx_queues 1
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $2
PARAM_COMPARE 0 dev->real_num_rx_queues > $1
PARAM_COMPARE 1 rxq < $0->real_num_rx_queues
CONSTRAINT 1 rxq <4123
RX_PATH
TASK_NOT_RUNNING
UNITS 1 rxq unit_array_size
LOCK2 &xs->mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &o2nm_cluster_group.cs_subsys.su_mutex
TYPE_LOCK (struct xdp_sock)->mutex

net/core/netdev_config.c __netdev_queue_config() -> __netif_get_rx_queue()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 1 rxq 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 rxq $1
NOSPEC 1 rxq
NOSPEC 1 rxq
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 rxq 1-s32max[c]
NO_OVERFLOW_SIMPLE 1 rxq
UNITS 0 dev unit_byte
UNITS 1 rxq unit_array_size
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 0 &dev->lock