Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 area 4096-ptr_max
PARAM_VALUE 0 area->pages 1-u64max
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
DATA_SOURCE 3 unlock_area r iommufd_access_is_internal
RX_PATH
NOCHECK_CALL
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_unpin_pages() -> iopt_area_remove_access()

Type Parameter Key Value
PARAM_VALUE 0 area 4096-ptr_max
PARAM_VALUE 0 area->pages 1-u64max
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
DATA_SOURCE 3 unlock_area r iommufd_access_is_internal
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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