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/net/wireless/virtual/mac80211_hwsim_main.c remove_vqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/net/wireless/virtual/mac80211_hwsim_main.c remove_vqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/virtio/virtio_ring.c virtqueue_disable_and_recycle() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq->reset 1
DATA_SOURCE 0 _vq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/virtio/virtio_ring.c virtqueue_disable_and_recycle() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq->reset 1
DATA_SOURCE 0 _vq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/can/virtio_can.c virtio_can_del_vq() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/net/can/virtio_can.c virtio_can_del_vq() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/net/can/virtio_can.c virtio_can_del_vq() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/net/can/virtio_can.c virtio_can_del_vq() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

net/vmw_vsock/virtio_transport.c virtio_vsock_vqs_del() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vsock->rx_lock
LOCK2 global &the_virtio_vsock_mutex
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_vsock)->rx_lock

net/vmw_vsock/virtio_transport.c virtio_vsock_vqs_del() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vsock->rx_lock
LOCK2 global &the_virtio_vsock_mutex
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_vsock)->rx_lock

net/vmw_vsock/virtio_transport.c virtio_vsock_vqs_del() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vsock->tx_lock
LOCK2 global &the_virtio_vsock_mutex
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_vsock)->tx_lock

net/vmw_vsock/virtio_transport.c virtio_vsock_vqs_del() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vsock->tx_lock
LOCK2 global &the_virtio_vsock_mutex
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_vsock)->tx_lock

drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_free_unused_reqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_free_unused_reqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/bluetooth/virtio_bt.c virtbt_close_vdev() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &_d->mutex
TYPE_LOCK (struct device)->mutex

drivers/bluetooth/virtio_bt.c virtbt_close_vdev() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &_d->mutex
TYPE_LOCK (struct device)->mutex

drivers/virtio/virtio_pci_modern.c vp_modern_avq_cleanup() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/virtio/virtio_pci_modern.c vp_modern_avq_cleanup() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/nvdimm/nd_virtio.c virtio_pmem_drain() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vpmem->pmem_lock
LOCK2 flags
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_pmem)->pmem_lock

drivers/nvdimm/nd_virtio.c virtio_pmem_drain() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vpmem->pmem_lock
LOCK2 flags
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_pmem)->pmem_lock

drivers/char/virtio_console.c remove_vqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/char/virtio_console.c remove_vqs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/virtio_net.c free_unused_bufs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/virtio_net.c free_unused_bufs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/virtio_net.c free_unused_bufs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/virtio_net.c free_unused_bufs() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/virtio/virtio_input.c virtinput_freeze() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/virtio/virtio_input.c virtinput_freeze() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/virtio/virtio_input.c virtinput_remove() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex

drivers/virtio/virtio_input.c virtinput_remove() -> virtqueue_detach_unused_buf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex