Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/vdpa/vdpa_user/iova_domain.c vduse_domain_create() -> vhost_iotlb_free()

Type Parameter Key Value
PARAM_VALUE 0 iotlb 4096-ptr_max
PARAM_VALUE 0 iotlb->flags 0
PARAM_VALUE 0 iotlb->limit 1-s32max
PARAM_VALUE 0 iotlb->list.next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.next->next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.prev 4096-ptr_max
PARAM_VALUE 0 iotlb->list.prev->next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 iotlb->nmaps 0
BUF_SIZE 0 iotlb 48
DATA_SOURCE 0 iotlb r vhost_iotlb_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->domain_lock
LOCK2 global &vdpa_dev_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct vduse_dev)->domain_lock

drivers/vdpa/vdpa_user/iova_domain.c vduse_domain_release() -> vhost_iotlb_free()

Type Parameter Key Value
PARAM_VALUE 0 iotlb 4096-ptr_max
PARAM_VALUE 0 iotlb->root.rb_leftmost 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/vhost/vhost.c vhost_dev_cleanup() -> vhost_iotlb_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/vhost/vhost.c vhost_dev_cleanup() -> vhost_iotlb_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/vhost/vhost.c vhost_init_device_iotlb() -> vhost_iotlb_free()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex

drivers/vhost/vhost.c vhost_set_memory() -> vhost_iotlb_free()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &d->mutex
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &vs->dev.mutex
HALF_LOCKED2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex

drivers/vhost/vhost.c vhost_set_memory() -> vhost_iotlb_free()

Type Parameter Key Value
PARAM_VALUE 0 iotlb 4096-ptr_max
BUF_SIZE 0 iotlb 48
DATA_SOURCE 0 iotlb r iotlb_alloc
NOCHECK_CALL
HALF_LOCKED2 &d->mutex
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &vs->dev.mutex
HALF_LOCKED2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex

drivers/vdpa/mlx5/core/resources.c cleanup_ctrl_vq() -> vhost_iotlb_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock

drivers/vdpa/mlx5/core/mr.c _mlx5_vdpa_create_mr() -> vhost_iotlb_free()

Type Parameter Key Value
PARAM_VALUE 0 iotlb 4096-ptr_max
PARAM_VALUE 0 iotlb->flags 0
PARAM_VALUE 0 iotlb->limit 2-s32max
PARAM_VALUE 0 iotlb->list.next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.next->next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.prev->next 4096-ptr_max
PARAM_VALUE 0 iotlb->list.prev->prev 4096-ptr_max
BUF_SIZE 0 iotlb 48
CAPPED_DATA 0 iotlb 1
DATA_SOURCE 0 iotlb r vhost_iotlb_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mvdev->mres.lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &ndev->reslock
TYPE_LOCK (struct mlx5_vdpa_mr_resources)->lock

drivers/vdpa/mlx5/core/mr.c _mlx5_vdpa_destroy_mr() -> vhost_iotlb_free()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &mres->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mlx5_vdpa_mr_resources)->lock