Defined in 3 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/iommu/iommufd/pages.c batch_rw() -> copy_data_page()

Type Parameter Key Value
PARAM_VALUE 1 data 1-u64max
PARAM_VALUE 4 flags 0-131070
BUF_SIZE 1 data (-1)-16777216
BUF_SIZE 1 data (-1)-16777216
CAPPED_DATA 3 length 1
CAPPED_DATA 3 length 1
DATA_SOURCE 1 data $1
DATA_SOURCE 2 offset $2 [m]
DATA_SOURCE 4 flags $4
PARAM_COMPARE 2 offset >= $3
BIT_INFO 4 flags 0x0,0x10007
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 *data s64min-s64max
USER_DATA 4 flags 0-131070[u]
UNITS 1 data unit_byte
UNITS 3 length unit_byte
USER_PTR 1 data
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
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_rw_page() -> copy_data_page()

Type Parameter Key Value
PARAM_VALUE 1 data 1-u64max
PARAM_VALUE 4 flags 0-131070
BUF_SIZE 1 data (-1)-16777216
BUF_SIZE 1 data (-1)-16777216
DATA_SOURCE 1 data $3
DATA_SOURCE 2 offset $2
DATA_SOURCE 3 length $4
DATA_SOURCE 4 flags $5
BIT_INFO 4 flags 0x0,0x10005
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 *data s64min-s64max
USER_DATA 4 flags 0-131070[u]
UNITS 1 data unit_byte
UNITS 3 length unit_byte
USER_PTR 1 data
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_access)->ioas_lock

kernel/power/snapshot.c copy_data_pages() -> copy_data_page()

Type Parameter Key Value
PARAM_VALUE 1 data 0-18446744073709551614
CAPPED_DATA 1 data 1
CAPPED_DATA 1 data 1
DATA_SOURCE 0 page r memory_bm_next_pfn
DATA_SOURCE 1 data r memory_bm_next_pfn
UNITS 1 data unit_page