Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

drivers/virtio/virtio_ring.c virtqueue_kick() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq->vdev->dev.parent->cma_area->available_count 0-s64max
DATA_SOURCE 0 _vq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &admin_vq->lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &ctrl->io_mutex
HALF_LOCKED2 &data_vq->lock
HALF_LOCKED2 &line->lock
HALF_LOCKED2 &nsm->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port->outvq_lock
HALF_LOCKED2 &portdev->c_ovq_lock
HALF_LOCKED2 &priv->tx_lock
HALF_LOCKED2 &vb->balloon_lock
HALF_LOCKED2 &vcrypto->ctrl_lock
HALF_LOCKED2 &vgpio->eventq_lock
HALF_LOCKED2 &vgpio->lock
HALF_LOCKED2 &vi->cvq_lock
HALF_LOCKED2 &vi->lock
HALF_LOCKED2 &vioch->lock
HALF_LOCKED2 &viommu->request_lock
HALF_LOCKED2 &vpmem->pmem_lock
HALF_LOCKED2 &vrp->tx_lock
HALF_LOCKED2 &vscsi->event_vq.vq_lock
HALF_LOCKED2 &vsock->event_lock
HALF_LOCKED2 &vsock->rx_lock
HALF_LOCKED2 &vsock->tx_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &hwsim_virtio_lock
HALF_LOCKED2 global &the_virtio_vsock_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

drivers/scsi/virtio_scsi.c virtscsi_add_cmd() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/virtio_scsi.c virtscsi_kick_vq() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_notify() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file_priv->prime.lock
HALF_LOCKED2 &vfpriv->context_lock
HALF_LOCKED2 &vgdev->obj_restore_lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_panic_notify() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->num_free 0-1
CAPPED_DATA 0 _vq->num_free 1
HARD_MAX 0 _vq->num_free 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(plane->dev)->mode_config.panic_lock
LOCK2 flags
HALF_LOCKED2 rcu_read

drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_cursor() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 irq

drivers/virtio/virtio_rtc_driver.c viortc_alarmq_hdlr() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->callback 1-u64max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
DATA_SOURCE 0 _vq $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 &vp_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

drivers/virtio/virtio_rtc_driver.c viortc_msg_xfer() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &rtc->ops_lock

drivers/virtio/virtio_rtc_driver.c viortc_probe() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/virtio/virtio_rtc_driver.c viortc_restore() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/fuse/virtio_fs.c send_forget_request() -> virtqueue_notify()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL

fs/fuse/virtio_fs.c virtio_fs_enqueue_req() -> virtqueue_notify()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/rpmsg/virtio_rpmsg_bus.c rpmsg_probe() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

sound/virtio/virtio_card.c virtsnd_event_send() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
DATA_SOURCE 0 _vq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &queue->lock
LOCK2 irq
TYPE_LOCK (struct virtio_snd_queue)->lock

drivers/block/virtio_blk.c virtblk_add_req_batch() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/block/virtio_blk.c virtio_commit_rqs() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/block/virtio_blk.c virtio_queue_rq() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c start_xmit() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv->hdr_len 0-255
CAPPED_DATA 0 _vq->vdev->priv->hdr_len 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c try_fill_recv() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/virtio_net.c virtnet_poll() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c virtnet_xdp_xmit() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c virtnet_xsk_xmit_batch() -> virtqueue_notify()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &txq->_xmit_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

sound/virtio/virtio_pcm_msg.c virtsnd_pcm_msg_send() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &substream->runtime->buffer_mutex
HALF_LOCKED2 &substream->self_group.lock
HALF_LOCKED2 &substream->self_group.mutex
HALF_LOCKED2 &vss->lock
HALF_LOCKED2 irq

sound/virtio/virtio_ctl_msg.c virtsnd_ctl_msg_send() -> virtqueue_notify()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL