Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/iommufd/pages.c batch_from_domain() -> batch_add_pfn()

Type Parameter Key Value
PARAM_VALUE 0 batch 5386030719981473952,6270772229982597280,8063690985537204224,8717662312254873760
PARAM_VALUE 0 batch->pfns 0,4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 batch $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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 batch_from_pages() -> batch_add_pfn()

Type Parameter Key Value
PARAM_VALUE 0 batch 5386030719981473952,6270772229982597280,8717662312254873760
PARAM_VALUE 0 batch->array_size 0-5461
PARAM_VALUE 0 batch->kind 0-1
PARAM_VALUE 0 batch->npfns 4096-ptr_max
PARAM_VALUE 0 batch->pfns 4096-ptr_max
CAPPED_DATA 0 batch->array_size 1
DATA_SOURCE 0 batch $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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 batch_from_xarray() -> batch_add_pfn()

Type Parameter Key Value
PARAM_VALUE 0 batch 5386030719981473952,6270772229982597280,8717662312254873760
PARAM_VALUE 0 batch->array_size 0-5461
PARAM_VALUE 0 batch->kind 0-1
PARAM_VALUE 0 batch->npfns 4096-ptr_max
PARAM_VALUE 0 batch->pfns 4096-ptr_max
PARAM_VALUE 1 pfn 0-9223372036854775807
CAPPED_DATA 0 batch->array_size 1
DATA_SOURCE 0 batch $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
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 batch_from_xarray_clear() -> batch_add_pfn()

Type Parameter Key Value
PARAM_VALUE 0 batch 1355349128839671808
PARAM_VALUE 1 pfn 0-9223372036854775807
DATA_SOURCE 0 batch $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &((&xas)->xa)->xa_lock
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