Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/vhost/vhost.c vhost_exceeds_weight() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_iotlb_notify_vq() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &d->iotlb_lock
LOCK2 &d->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct vhost_dev)->iotlb_lock
TYPE_LOCK (struct vhost_dev)->mutex

drivers/vhost/vhost.c vhost_poll_wakeup() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
PARAM_VALUE 0 poll->dev 4096-ptr_max
PARAM_VALUE 0 poll->dev->use_worker 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sci->sc_wait_request.lock
HALF_LOCKED2 &x->lock
HALF_LOCKED2 flags

drivers/vhost/net.c handle_rx() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c handle_rx() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c handle_tx_copy() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c handle_tx_zerocopy() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c vhost_net_busy_poll_try_queue() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c vhost_net_busy_poll_try_queue() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c vhost_zerocopy_complete() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

drivers/vhost/vsock.c vhost_transport_cancel_pkt() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
LOCK2 sk

drivers/vhost/vsock.c vhost_transport_do_send_pkt() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/vhost/vsock.c vhost_vsock_start() -> vhost_poll_queue()

Type Parameter Key Value
PARAM_VALUE 0 poll 4096-ptr_max
NOCHECK_CALL
LOCK2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex