Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/tun.c tun_ring_consume() -> __tun_wake_queue()

Type Parameter Key Value
PARAM_VALUE 0 tun 4096-ptr_max
PARAM_VALUE 0 tun->dev 0,4096-ptr_max
PARAM_VALUE 1 tfile 4096-ptr_max
PARAM_VALUE 1 tfile->tun 4096-ptr_max
PARAM_VALUE 1 tfile->tun->dev 0,4096-ptr_max
PARAM_VALUE 1 tfile->tx_ring->queue 0
PARAM_VALUE 1 tfile->tx_ring.consumer_head s32min-2147483646
PARAM_VALUE 1 tfile->tx_ring.consumer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 tfile->tx_ring.size s32min-(-1),1-s32max
PARAM_VALUE 2 consumed 1
BUF_SIZE 1 tfile s32min-(-1),1-s32max
BUF_SIZE 1 tfile s32min-(-1),1-s32max
CAPPED_DATA 1 tfile 1
CAPPED_DATA 1 tfile->tx_ring.batch 1
CAPPED_DATA 1 tfile->tx_ring.size 1
DATA_SOURCE 0 tun $0
DATA_SOURCE 1 tfile $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 1 &tfile->tx_ring.consumer_lock
TYPE_LOCK (struct ptr_ring)->consumer_lock

drivers/net/tun.c tun_wake_queue() -> __tun_wake_queue()

Type Parameter Key Value
PARAM_VALUE 0 tun 1-u64max
PARAM_VALUE 1 tfile 4096-ptr_max
PARAM_VALUE 1 tfile->tun 1-u64max
PARAM_VALUE 2 consumed 1-64
BUF_SIZE 1 tfile s32min-(-2),1-s32max
BUF_SIZE 1 tfile s32min-(-2),1-s32max
DATA_SOURCE 2 consumed $1
PARAM_COMPARE 0 tun == $1->tun
PARAM_COMPARE 1 tfile->tun == $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nvq->rx_ring->consumer_lock
LOCK2 &vq->mutex
LOCK2 rcu_read
TYPE_LOCK (struct ptr_ring)->consumer_lock
TYPE_LOCK (struct vhost_virtqueue)->mutex