Defined in 1 files as a function:
Referenced in 4 files:
- drivers/iommu/iommufd/io_pagetable.c
- drivers/iommu/iommufd/io_pagetable.h
- drivers/iommu/iommufd/pages.c
- drivers/iommu/iommufd/selftest.c, line 76
Smatch caller information:
drivers/iommu/iommufd/selftest.c __iommufd_test_syz_conv_iova() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| HALF_LOCKED2 | &access->ioas_lock |
drivers/iommu/iommufd/io_pagetable.c iopt_area_contig_next() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | r iopt_area_iter_next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_area_split() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_area_start_byte() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| LOCK2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_area_start_byte() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| LOCK2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_check_iova_alignment() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iopt->domains_rwsem | ||
| LOCK2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_clear_dirty_data() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/io_pagetable.c iopt_unmap_iova_range() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | r iopt_area_iter_first |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iopt->domains_rwsem | ||
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/pages.c iopt_area_index_to_iova() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex |
drivers/iommu/iommufd/pages.c iopt_area_index_to_iova() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex |
drivers/iommu/iommufd/pages.c iopt_area_index_to_iova_last() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| HALF_LOCKED2 | _T->lock |
drivers/iommu/iommufd/pages.c iopt_area_unmap_domain() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iopt->domains_rwsem | ||
| LOCK2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/device.c iopt_area_start_byte() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &access->ioas_lock | ||
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem | ||
| TYPE_LOCK | (struct iommufd_access)->ioas_lock |
drivers/iommu/iommufd/device.c iopt_area_start_byte() -> iopt_area_iova()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| DATA_SOURCE | 0 | area | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &access->ioas_lock | ||
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem | ||
| TYPE_LOCK | (struct iommufd_access)->ioas_lock |