Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/xdp/xsk.c xsk_cq_submit_addr_locked() -> xskq_prod_submit_n()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->ring 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nb_entries unit_page
LOCK2 &pool->cq_prod_lock
LOCK2 flags
HALF_LOCKED2 &commonring->lock
HALF_LOCKED2 &dlc->lock
HALF_LOCKED2 &fq->q.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->driver_lock
HALF_LOCKED2 &qp->q.lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &rfcomm_dev_lock
HALF_LOCKED2 global &rfcomm_ioctl_mutex
HALF_LOCKED2 global &rfcomm_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct xsk_buff_pool)->cq_prod_lock

net/xdp/xsk.c xsk_cq_submit_addr_single_locked() -> xskq_prod_submit_n()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->ring 4096-ptr_max
PARAM_VALUE 1 nb_entries 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pool->cq_prod_lock
LOCK2 &xs->mutex
LOCK2 flags
TYPE_LOCK (struct xdp_sock)->mutex
TYPE_LOCK (struct xsk_buff_pool)->cq_prod_lock

net/xdp/xsk.c xsk_tx_completed() -> xskq_prod_submit_n()

Type Parameter Key Value
CAPPED_DATA 1 nb_entries 1
DATA_SOURCE 1 nb_entries $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nb_entries unit_page
HALF_LOCKED2 &nq->_xmit_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/xdp/xsk.c xsk_tx_completed() -> xskq_prod_submit_n()

Type Parameter Key Value
DATA_SOURCE 1 nb_entries $1 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nb_entries unit_page
HALF_LOCKED2 &nq->_xmit_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read