Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/intel/nested.c __iommu_copy_struct_from_user_array() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 6844498047168790528
PARAM_VALUE 1 src_data 2558404588007280640
PARAM_VALUE 1 src_data->len 0-u32max
PARAM_VALUE 1 src_data->type 0
PARAM_VALUE 1 src_data->uptr 4096-ptr_max
PARAM_VALUE 2 data_type 0
PARAM_VALUE 3 data_len 24
PARAM_VALUE 4 min_len 24
BUF_SIZE 0 dst_data 24
BUF_SIZE 0 dst_data 24
DATA_SOURCE 0 dst_data $0
DATA_SOURCE 2 data_type $2
DATA_SOURCE 3 data_len $4
DATA_SOURCE 4 min_len $5
USER_DATA 1 src_data->len 0-u32max[u]
USER_DATA 1 src_data->type 0[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte

drivers/iommu/intel/nested.c intel_iommu_domain_alloc_nested() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 3486215956406792192
PARAM_VALUE 1 src_data 2618518703692980224
PARAM_VALUE 1 src_data->len 1-u32max
PARAM_VALUE 1 src_data->type 1
PARAM_VALUE 2 data_type 1
PARAM_VALUE 3 data_len 24
PARAM_VALUE 4 min_len 24
BUF_SIZE 0 dst_data 24
DATA_SOURCE 1 src_data $3
USER_DATA 1 src_data->len 1-u32max[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte

drivers/iommu/iommufd/selftest.c __iommu_copy_struct_from_user_array() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 9018156585747120128
PARAM_VALUE 1 src_data 4112331633302810624
PARAM_VALUE 1 src_data->len 0-u32max
PARAM_VALUE 1 src_data->type 3735928559
PARAM_VALUE 1 src_data->uptr 4096-ptr_max
PARAM_VALUE 2 data_type 3735928559
PARAM_VALUE 3 data_len 8
PARAM_VALUE 4 min_len 8
BUF_SIZE 0 dst_data 8
BUF_SIZE 0 dst_data 8
DATA_SOURCE 0 dst_data $0
DATA_SOURCE 2 data_type $2
DATA_SOURCE 3 data_len $4
DATA_SOURCE 4 min_len $5
USER_DATA 1 src_data->len 0-u32max[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte

drivers/iommu/iommufd/selftest.c __mock_domain_alloc_nested() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 6233472872367022080
PARAM_VALUE 1 src_data 2618518703692980224
PARAM_VALUE 1 src_data->len 1-u32max
PARAM_VALUE 1 src_data->type 57005
PARAM_VALUE 2 data_type 57005
PARAM_VALUE 3 data_len 8
PARAM_VALUE 4 min_len 4
BUF_SIZE 0 dst_data 8
DATA_SOURCE 1 src_data $0
USER_DATA 1 src_data->len 1-u32max[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte

drivers/iommu/iommufd/selftest.c mock_domain_alloc_paging_flags() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 6854258902142087168
PARAM_VALUE 1 src_data 2618518703692980224
PARAM_VALUE 1 src_data->len 1-u32max
PARAM_VALUE 1 src_data->type 57005
PARAM_VALUE 2 data_type 57005
PARAM_VALUE 3 data_len 8
PARAM_VALUE 4 min_len 4
BUF_SIZE 0 dst_data 8
BUF_SIZE 1 src_data (-1)-0,24
BUF_SIZE 1 src_data (-1)-0,24
DATA_SOURCE 1 src_data $2
RX_PATH
USER_DATA 1 src_data->len 1-u32max[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte
LOCK2 &ioas->mutex
TYPE_LOCK (struct iommufd_ioas)->mutex

drivers/iommu/iommufd/selftest.c mock_viommu_init() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 7605252107949400064
PARAM_VALUE 1 src_data 1179129576135548928
PARAM_VALUE 1 src_data->len 1-u32max
PARAM_VALUE 1 src_data->type 1-u32max
PARAM_VALUE 2 data_type 3735928559
PARAM_VALUE 3 data_len 24
PARAM_VALUE 4 min_len 8
BUF_SIZE 0 dst_data 24
BUF_SIZE 1 src_data 0,24
BUF_SIZE 1 src_data 0,24
DATA_SOURCE 1 src_data $2
USER_DATA 1 src_data->len 1-u32max[u]
USER_DATA 1 src_data->type 1-u32max[u]
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte

drivers/iommu/amd/nested.c amd_iommu_alloc_domain_nested() -> __iommu_copy_struct_from_user()

Type Parameter Key Value
PARAM_VALUE 0 dst_data 4096-ptr_max
PARAM_VALUE 1 src_data 4096-ptr_max
PARAM_VALUE 1 src_data->type 3
PARAM_VALUE 2 data_type 3
PARAM_VALUE 3 data_len 32
PARAM_VALUE 4 min_len 32
BUF_SIZE 0 dst_data 32
DATA_SOURCE 1 src_data $2
UNITS 3 data_len unit_byte
UNITS 4 min_len unit_byte