Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
drivers/iommu/iommufd/io_pagetable.c iopt_alloc_iova() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 8300126908536217600 |
| PARAM_VALUE | 0 | iter->is_used | 0-2 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | iter->start_hole | |
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/pages.c __iopt_area_unfill_domain() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 2643264386115555328 |
| PARAM_VALUE | 0 | iter->is_used | 0-2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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_pages_fill_xarray() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 4603873063127990272 |
| PARAM_VALUE | 0 | iter->is_used | 0-2 |
| NOCHECK_CALL | |||
| LOCK2 | &access->ioas_lock | ||
| LOCK2 | &iopt->iova_rwsem | ||
| LOCK2 | &pages->mutex | ||
| HALF_LOCKED2 | &staccess->lock | ||
| HALF_LOCKED2 | &vgpu->cache_lock | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem | ||
| TYPE_LOCK | (struct iommufd_access)->ioas_lock | ||
| TYPE_LOCK | (struct iopt_pages)->mutex |
drivers/iommu/iommufd/pages.c iopt_pages_unfill_xarray() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 4916799166596313088 |
| PARAM_VALUE | 0 | iter->is_used | 0-2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &access->ioas_lock | ||
| LOCK2 | &iopt->iova_rwsem | ||
| LOCK2 | &pages->mutex | ||
| HALF_LOCKED2 | &staccess->lock | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem | ||
| TYPE_LOCK | (struct iommufd_access)->ioas_lock | ||
| TYPE_LOCK | (struct iopt_pages)->mutex |
drivers/iommu/iommufd/pages.c pfn_reader_next() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 5386030719981473800,6270772229982597128,8717662312254873608 |
| PARAM_VALUE | 0 | iter->is_used | (-1)-2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex | ||
| HALF_LOCKED2 | _T->lock |
drivers/iommu/iommufd/pages.c pfn_reader_unpin() -> interval_tree_double_span_iter_next()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 2272847582810320896 |
| PARAM_VALUE | 0 | iter->is_used | 0-2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex |