Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 19 files:
- drivers/block/virtio_blk.c, line 361
- drivers/char/virtio_console.c
- drivers/crypto/virtio/virtio_crypto_core.c
- drivers/firmware/arm_scmi/transports/virtio.c
- drivers/gpu/drm/virtio/virtgpu_vq.c
- drivers/net/can/virtio_can.c
- drivers/net/virtio_net.c
- drivers/scsi/virtio_scsi.c, line 190
- drivers/virtio/virtio_pci_modern.c, line 58
- drivers/virtio/virtio_ring.c, line 3153
- drivers/virtio/virtio_rtc_driver.c, line 246
- fs/fuse/virtio_fs.c
- net/vmw_vsock/virtio_transport.c
- sound/virtio/virtio_card.c
- sound/virtio/virtio_ctl_msg.c, line 299
- sound/virtio/virtio_pcm_msg.c, line 350
- tools/virtio/vhost_net_test.c, line 287
- tools/virtio/virtio_test.c, line 187
- tools/virtio/vringh_test.c
Smatch caller information:
drivers/net/can/virtio_can.c virtio_can_rx_intr() -> virtqueue_disable_cb()
| 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 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/net/can/virtio_can.c virtio_can_tx_intr() -> virtqueue_disable_cb()
| 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 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/net/can/virtio_can.c virtqueue_napi_complete() -> virtqueue_disable_cb()
| 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 |
| DATA_SOURCE | 0 | _vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/can/virtio_can.c virtqueue_napi_schedule() -> virtqueue_disable_cb()
| 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 |
| DATA_SOURCE | 0 | _vq | $1 |
| RX_PATH | |||
| NOCHECK_CALL |
drivers/firmware/arm_scmi/transports/virtio.c scmi_vio_complete_cb() -> virtqueue_disable_cb()
| 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 |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vioch->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct scmi_vio_channel)->lock |
drivers/firmware/arm_scmi/transports/virtio.c virtio_poll_done() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vioch->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &cinfo->transport_info->chan_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct scmi_vio_channel)->lock |
drivers/scsi/virtio_scsi.c virtscsi_vq_done() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &virtscsi_vq->vq_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_scsi_vq)->vq_lock |
drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_dequeue_ctrl_func() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &vgdev->ctrlq.qlock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_gpu_queue)->qlock |
drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_dequeue_cursor_func() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &vgdev->cursorq.qlock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_gpu_queue)->qlock |
drivers/virtio/virtio_rtc_driver.c viortc_do_cb() -> virtqueue_disable_cb()
| 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 | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &viortc_vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct viortc_vq)->lock |
net/vmw_vsock/virtio_transport.c virtio_transport_event_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &vsock->event_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->event_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_rx_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| NOCHECK_CALL | |||
| LOCK2 | &vsock->rx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->rx_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_tx_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &vsock->tx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->tx_lock |
drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_ctrlq_callback() -> virtqueue_disable_cb()
| 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 | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vcrypto->ctrl_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct virtio_crypto)->ctrl_lock |
drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_done_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &data_vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct data_queue)->lock |
drivers/virtio/virtio_pci_modern.c vp_modern_avq_done() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &admin_vq->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_pci_admin_vq)->lock |
fs/fuse/virtio_fs.c virtio_fs_hiprio_done_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &fsvq->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_fs_vq)->lock |
fs/fuse/virtio_fs.c virtio_fs_requests_done_work() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &fsvq->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_fs_vq)->lock |
drivers/char/virtio_console.c virtcons_freeze() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/char/virtio_console.c virtcons_freeze() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/char/virtio_console.c virtcons_freeze() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/char/virtio_console.c virtcons_freeze() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
sound/virtio/virtio_card.c virtsnd_disable_event_vq() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |
sound/virtio/virtio_card.c virtsnd_event_notify_cb() -> virtqueue_disable_cb()
| 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 |
sound/virtio/virtio_card.c virtsnd_find_vqs() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/block/virtio_blk.c virtblk_done() -> virtqueue_disable_cb()
| 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 | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/net/virtio_net.c check_sq_full_and_disable() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/virtio_net.c skb_xmit_done() -> virtqueue_disable_cb()
| 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 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
drivers/net/virtio_net.c start_xmit() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 virtnet_poll() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/virtio_net.c virtnet_poll_cleantx() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | &ni->dev_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct netdev_queue)->_xmit_lock |
drivers/net/virtio_net.c virtnet_poll_tx() -> virtqueue_disable_cb()
| 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 | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct netdev_queue)->_xmit_lock |
drivers/net/virtio_net.c virtnet_poll_tx() -> virtqueue_disable_cb()
| 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 | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct netdev_queue)->_xmit_lock |
drivers/net/virtio_net.c virtnet_poll_tx() -> virtqueue_disable_cb()
| 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 | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &txq->_xmit_lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct netdev_queue)->_xmit_lock |
drivers/net/virtio_net.c virtqueue_napi_complete() -> virtqueue_disable_cb()
| 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->dev->name | 0-255 |
| CAPPED_DATA | 0 | _vq->num_free | 1 |
| CAPPED_DATA | 0 | _vq->vdev->priv->dev->num_tx_queues | 1 |
| DATA_SOURCE | 0 | _vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/virtio_net.c virtqueue_napi_schedule() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | _vq | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh |
sound/virtio/virtio_pcm_msg.c virtsnd_pcm_notify_cb() -> virtqueue_disable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |
sound/virtio/virtio_ctl_msg.c virtsnd_ctl_notify_cb() -> virtqueue_disable_cb()
| 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 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |