Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
drivers/iommu/iommufd/io_pagetable.c iopt_alloc_iova() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 5641834098772606976 |
| PARAM_VALUE | 1 | itree | 4096-ptr_max |
| PARAM_VALUE | 2 | first_index | 4096 |
| PARAM_VALUE | 3 | last_index | 18446744073709547519 |
| NOCHECK_CALL | |||
| LOCK2 | &iopt->iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
drivers/iommu/iommufd/pages.c interval_tree_double_span_iter_first() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 4096-ptr_max |
| DATA_SOURCE | 2 | first_index | $3 |
| DATA_SOURCE | 3 | last_index | $4 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 2 | first_index | |
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex |
drivers/iommu/iommufd/vfio_compat.c iommufd_fill_cap_iova() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 2634653540751040512 |
| PARAM_VALUE | 1 | itree | 4096-ptr_max |
| PARAM_VALUE | 2 | first_index | 0 |
| PARAM_VALUE | 3 | last_index | u64max |
| NOCHECK_CALL | |||
| LOCK2 | &ioas->iopt.iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |
lib/interval_tree.c interval_tree_span_iter_advance() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 4096-ptr_max |
| PARAM_VALUE | 0 | iter->is_hole | 0-1 |
| CAPPED_DATA | 0 | iter->start_hole | 1 |
| CAPPED_DATA | 2 | first_index | 1 |
| CAPPED_DATA | 2 | first_index | 1 |
| DATA_SOURCE | 0 | iter | $0 |
| DATA_SOURCE | 1 | itree | $1 |
| DATA_SOURCE | 2 | first_index | $2 |
| PARAM_COMPARE | 0 | iter->last_index | >= $2 |
| PARAM_COMPARE | 2 | first_index | <= $0->last_index |
| PARAM_COMPARE | 3 | last_index | >= $2 |
| PARAM_COMPARE | 3 | last_index | >= $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | first_index | unit_byte |
| UNITS | 3 | last_index | unit_byte |
| HALF_LOCKED2 | &access->ioas_lock | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &pages->mutex |
lib/interval_tree_test.c span_iteration_check() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 2261296976923930624 |
| PARAM_VALUE | 0 | iter->is_hole | (-1)-1 |
| PARAM_VALUE | 1 | itree | 5990125474845216768 |
| PARAM_VALUE | 2 | first_index | 0-268435454 |
| PARAM_VALUE | 3 | last_index | 0-268435455,u64max |
| CAPPED_DATA | 2 | first_index | 1 |
| CAPPED_DATA | 2 | first_index | 1 |
| CAPPED_DATA | 3 | last_index | 1 |
| CAPPED_DATA | 3 | last_index | 1 |
| FUZZY_MAX | 3 | last_index | u64max |
| NOCHECK_CALL |
drivers/iommu/iommufd/ioas.c iommufd_ioas_iova_ranges() -> interval_tree_span_iter_first()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | iter | 2235099616818495488 |
| PARAM_VALUE | 1 | itree | 4096-ptr_max |
| PARAM_VALUE | 2 | first_index | 0 |
| PARAM_VALUE | 3 | last_index | u64max |
| NOCHECK_CALL | |||
| LOCK2 | &ioas->iopt.iova_rwsem | ||
| TYPE_LOCK | (struct io_pagetable)->iova_rwsem |