Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- drivers/vdpa/vdpa_sim/vdpa_sim.c, line 721
- drivers/vdpa/vdpa_user/iova_domain.c, line 41
- drivers/vhost/iotlb.c
- drivers/vhost/vdpa.c, line 1008
Smatch caller information:
drivers/vdpa/vdpa_user/iova_domain.c vduse_iotlb_add_range() -> vhost_iotlb_add_range_ctx()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 5 | opaque | 4096-ptr_max |
| BUF_SIZE | 5 | opaque | 16 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 2 | last | $2 |
| DATA_SOURCE | 3 | addr | $3 |
| DATA_SOURCE | 4 | perm | $4 |
| DATA_SOURCE | 5 | opaque | r _kmalloc_noprof |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| UNITS | 3 | addr | unit_byte |
| LOCK2 | &domain->iotlb_lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| TYPE_LOCK | (struct vduse_iova_domain)->iotlb_lock |
drivers/vhost/vdpa.c vhost_vdpa_map() -> vhost_iotlb_add_range_ctx()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 5 | opaque | 0,4096-ptr_max |
| BUF_SIZE | 5 | opaque | (-1),16 |
| BUF_SIZE | 5 | opaque | (-1),16 |
| CAPPED_DATA | 0 | iotlb | 1 |
| DATA_SOURCE | 0 | iotlb | $1 |
| DATA_SOURCE | 1 | start | $2 |
| DATA_SOURCE | 3 | addr | $4 |
| DATA_SOURCE | 4 | perm | $5 |
| DATA_SOURCE | 5 | opaque | $6 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| UNITS | 3 | addr | unit_byte |
| LOCK2 | &dev->mm->mmap_lock | ||
| LOCK2 | &dev->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/iotlb.c vhost_iotlb_add_range() -> vhost_iotlb_add_range_ctx()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 1-u64max |
| PARAM_VALUE | 5 | opaque | 0 |
| BUF_SIZE | 0 | iotlb | (-1),48 |
| BUF_SIZE | 0 | iotlb | (-1),48 |
| DATA_SOURCE | 0 | iotlb | $0 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 2 | last | $2 |
| DATA_SOURCE | 3 | addr | $3 |
| DATA_SOURCE | 4 | perm | $4 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0-u64max |
| USER_DATA | 3 | addr | 0-u64max |
| UNITS | 1 | start | unit_byte |
| UNITS | 2 | last | unit_byte |
| UNITS | 3 | addr | unit_byte |
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &vdpa->cf_lock | ||
| HALF_LOCKED2 | &vdpasim->iommu_lock | ||
| HALF_LOCKED2 | &vdpasim->mutex | ||
| HALF_LOCKED2 | global &vdpa_dev_lock |
drivers/vhost/iotlb.c vhost_iotlb_add_range_ctx() -> vhost_iotlb_add_range_ctx()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 0 | iotlb->limit | 2-u32max |
| PARAM_VALUE | 1 | start | 0 |
| PARAM_VALUE | 2 | last | 9223372036854775807 |
| PARAM_VALUE | 5 | opaque | 0,4096-ptr_max |
| BUF_SIZE | 0 | iotlb | (-1),48 |
| BUF_SIZE | 0 | iotlb | (-1),48 |
| BUF_SIZE | 5 | opaque | (-1),16 |
| BUF_SIZE | 5 | opaque | (-1),16 |
| DATA_SOURCE | 0 | iotlb | $0 |
| DATA_SOURCE | 1 | start | $1 |
| DATA_SOURCE | 3 | addr | $3 |
| DATA_SOURCE | 4 | perm | $4 |
| DATA_SOURCE | 5 | opaque | $5 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | start | 0[c] |
| USER_DATA | 3 | addr | 0-u64max |
| UNITS | 1 | start | unit_byte |
| UNITS | 3 | addr | unit_byte |
| HALF_LOCKED2 | &dev->mm->mmap_lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &domain->iotlb_lock | ||
| HALF_LOCKED2 | &vdpasim->iommu_lock |
drivers/vdpa/vdpa_sim/vdpa_sim.c vdpasim_dma_map() -> vhost_iotlb_add_range_ctx()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iotlb | 4096-ptr_max |
| PARAM_VALUE | 5 | opaque | 0,4096-ptr_max |
| BUF_SIZE | 5 | opaque | (-1),16 |
| BUF_SIZE | 5 | opaque | (-1),16 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 1 | start | 1 |
| CAPPED_DATA | 2 | last | 1 |
| DATA_SOURCE | 1 | start | $2 |
| DATA_SOURCE | 3 | addr | $4 |
| DATA_SOURCE | 4 | perm | $5 |
| DATA_SOURCE | 5 | opaque | $6 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dev->mm->mmap_lock | ||
| LOCK2 | &dev->mutex | ||
| LOCK2 | &vdpasim->iommu_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct vdpasim)->iommu_lock | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |