Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/iommu/iommufd/pages.c __iopt_area_unfill_domain() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt->disable_large_pages | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | domain->owner->domain_alloc_paging_flags | 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain->iommufd_hwpt | (-1),40 |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| DATA_SOURCE | 1 | domain | $2 |
| DATA_SOURCE | 3 | last_index | $3 |
| PARAM_COMPARE | 0 | area->pages_node.start | == $2 |
| PARAM_COMPARE | 2 | start_index | == $0->pages_node.start |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | domain->iommufd_hwpt->pasid_compat | 0-1[c] |
| LOCK2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem |
drivers/iommu/iommufd/pages.c __iopt_area_unfill_domain() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt->disable_large_pages | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | domain->owner->domain_alloc_paging_flags | 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain->iommufd_hwpt | (-1),40 |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| DATA_SOURCE | 1 | domain | $2 |
| DATA_SOURCE | 3 | last_index | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | domain->iommufd_hwpt->pasid_compat | 0-1[c] |
| LOCK2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem |
drivers/iommu/iommufd/pages.c iopt_area_fill_domains() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt->disable_large_pages | 0-1 |
| PARAM_VALUE | 0 | area->iopt->domains.xa_head | 1-u64max |
| PARAM_VALUE | 1 | domain | 1-u64max |
| PARAM_VALUE | 1 | domain->ops->iotlb_sync | 0,4096-ptr_max |
| CAPPED_DATA | 0 | area | 1 |
| DATA_SOURCE | 0 | area | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &iopt->domains_rwsem | ||
| LOCK2 | &pages->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem | ||
| TYPE_LOCK | (struct iopt_pages)->mutex |
drivers/iommu/iommufd/pages.c iopt_area_unfill_domains() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | area->storage_domain | 1-u64max |
| PARAM_VALUE | 1 | domain | 1-u64max |
| PARAM_VALUE | 1 | domain->ops->iotlb_sync | 0,4096-ptr_max |
| CAPPED_DATA | 0 | area->storage_domain | 1 |
| DATA_SOURCE | 0 | area | $0 |
| PARAM_COMPARE | 0 | area->storage_domain | != $1 |
| PARAM_COMPARE | 1 | domain | != $0->storage_domain |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &iopt->domains_rwsem | ||
| LOCK2 | &pages->mutex | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem | ||
| TYPE_LOCK | (struct iopt_pages)->mutex |
drivers/iommu/iommufd/pages.c iopt_area_unpin_domain() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->iopt->iova_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | area->pages->source_mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | domain->ops->iotlb_sync | 0,4096-ptr_max |
| PARAM_VALUE | 1 | domain->owner->domain_alloc_paging_flags | 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain | (-1),112 |
| BUF_SIZE | 1 | domain->iommufd_hwpt | (-1),40 |
| CAPPED_DATA | 2 | start_index | 1 |
| DATA_SOURCE | 0 | area | $1 |
| DATA_SOURCE | 1 | domain | $3 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | domain->iommufd_hwpt->pasid_compat | 0-1[c] |
| UNITS | 2 | start_index | unit_byte |
| UNITS | 3 | last_index | unit_byte |
| LOCK2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct io_pagetable)->domains_rwsem |
drivers/iommu/iommufd/pages.c iopt_revoke_notify() -> iopt_area_unmap_domain_range()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | area | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &entry->dmabufs_lock | ||
| HALF_LOCKED2 | &uverbs_dmabuf->mmap_entry->dmabufs_lock | ||
| HALF_LOCKED2 | dmabuf->resv |