Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/iommu/iommufd/io_pagetable.c __iommu_read_and_clear_dirty() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 237915128914644992
PARAM_VALUE 0 iter->area 0,4096-ptr_max
USER_DATA 0 iter->cur_iova 0-u64max
HALF_LOCKED2 &iopt->iova_rwsem

drivers/iommu/iommufd/io_pagetable.c iopt_get_pages() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 1274135515943718912
PARAM_VALUE 0 iter->area 0,4096-ptr_max
USER_DATA 0 iter->cur_iova 0-18446744073709551614[c]
LOCK2 &iopt->iova_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem

drivers/iommu/iommufd/device.c iommufd_access_pin_pages() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 9099833446167994368
PARAM_VALUE 0 iter->area 0,4096-ptr_max
RX_PATH
USER_DATA 0 iter->cur_iova 0-u64max
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
HALF_LOCKED2 &staccess->lock
HALF_LOCKED2 &vgpu->cache_lock
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_access)->ioas_lock

drivers/iommu/iommufd/device.c iommufd_access_rw() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 3246687938747527168
PARAM_VALUE 0 iter->area 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->cur_iova 0-u64max[c]
USER_DATA 0 iter->cur_iova 0-u64max
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 iommufd_access_unpin_pages() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 6843286241125273600
PARAM_VALUE 0 iter->area 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->cur_iova 0-u64max
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
HALF_LOCKED2 &staccess->lock
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_access)->ioas_lock

drivers/iommu/iommufd/device.c iopt_area_contig_is_aligned() -> iopt_area_contig_done()

Type Parameter Key Value
PARAM_VALUE 0 iter 9099833446167994368
PARAM_VALUE 0 iter->area 4096-ptr_max
DATA_SOURCE 0 iter $0
USER_DATA 0 iter->cur_iova 0-u64max
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
HALF_LOCKED2 &staccess->lock
HALF_LOCKED2 &vgpu->cache_lock
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_access)->ioas_lock