Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- drivers/vdpa/mlx5/core/mr.c
- drivers/vdpa/vdpa_sim/vdpa_sim.c
- drivers/vhost/iotlb.c, line 129
- drivers/vhost/vhost.c
Smatch caller information:
drivers/vhost/vhost.c vhost_process_iotlb_msg() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| LOCK2 | &dev->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/vhost.c vhost_set_memory() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 4 | perm | 3 |
| BUF_SIZE | 0 | iotlb | 48 |
| DATA_SOURCE | 0 | iotlb | r iotlb_alloc |
| USER_DATA | 1 | start | 0-u64max |
| USER_DATA | 3 | addr | 0-u64max |
| 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/vdpa_sim/vdpa_sim.c vdpasim_create() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | last | u64max |
| PARAM_VALUE | 3 | addr | 0 |
| PARAM_VALUE | 4 | perm | 3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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 |
drivers/vdpa/vdpa_sim/vdpa_sim.c vdpasim_do_reset() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | last | u64max |
| PARAM_VALUE | 3 | addr | 0 |
| PARAM_VALUE | 4 | perm | 3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vdpa->cf_lock | ||
| LOCK2 | &vdpasim->iommu_lock | ||
| LOCK2 | &vdpasim->mutex | ||
| TYPE_LOCK | (struct vdpa_device)->cf_lock | ||
| TYPE_LOCK | (struct vdpasim)->iommu_lock | ||
| TYPE_LOCK | (struct vdpasim)->mutex |
drivers/vdpa/vdpa_sim/vdpa_sim.c vdpasim_reset_map() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | last | u64max |
| PARAM_VALUE | 3 | addr | 0 |
| PARAM_VALUE | 4 | perm | 3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vdpasim->iommu_lock | ||
| HALF_LOCKED2 | &d->mutex | ||
| TYPE_LOCK | (struct vdpasim)->iommu_lock |
drivers/vdpa/vdpa_sim/vdpa_sim.c vdpasim_set_map() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 0 | iotlb->root.rb_leftmost | 0,4096-ptr_max |
| PARAM_VALUE | 0 | iotlb->root.rb_leftmost->rb_left | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| UNITS | 3 | addr | unit_byte |
| LOCK2 | &dev->mutex | ||
| LOCK2 | &vdpasim->iommu_lock | ||
| HALF_LOCKED2 | &dev->mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct vdpasim)->iommu_lock | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vdpa/mlx5/core/mr.c dup_iotlb() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 1-u64max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | last | u64max |
| PARAM_VALUE | 3 | addr | 0 |
| PARAM_VALUE | 4 | perm | 3 |
| DATA_SOURCE | 0 | iotlb | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &mvdev->cvq.iommu_lock | ||
| HALF_LOCKED2 | &mvdev->mres.lock | ||
| HALF_LOCKED2 | &ndev->reslock |
drivers/vdpa/mlx5/core/mr.c dup_iotlb() -> vhost_iotlb_add_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 1-u64max |
| DATA_SOURCE | 0 | iotlb | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| UNITS | 3 | addr | unit_byte |
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &mvdev->cvq.iommu_lock | ||
| HALF_LOCKED2 | &mvdev->mres.lock | ||
| HALF_LOCKED2 | &ndev->reslock |