Documented in 1 files:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/iommu/iommufd/selftest.c __iommu_copy_struct_to_user() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 1 usize 8-24
PARAM_VALUE 2 src 7605252107949400064
PARAM_VALUE 3 ksize 24
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 24
BUF_SIZE 2 src 24
DATA_SOURCE 2 src $1
DATA_SOURCE 3 ksize $3
PARAM_COMPARE 1 usize <= $3
PARAM_COMPARE 3 ksize >= $1
PARAM_COMPARE 3 ksize >= $1
HARD_MAX 1 usize 24
USER_DATA 1 usize 8-24[u]
UNITS 1 usize unit_byte
UNITS 3 ksize unit_byte

fs/pidfs.c pidfd_info() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 usize 64-16383
PARAM_VALUE 2 src 6485149345361104896
PARAM_VALUE 3 ksize 88
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 88
DATA_SOURCE 0 dst $2
FUZZY_MAX 1 usize 64
USER_DATA 1 usize 64-16383[c]
UNITS 3 ksize unit_byte

fs/file_attr.c __do_sys_file_getattr() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 1 usize 24-4096
PARAM_VALUE 2 src 5794308658386784256
PARAM_VALUE 3 ksize 24
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 24
DATA_SOURCE 0 dst $2
DATA_SOURCE 1 usize $3
FUZZY_MAX 1 usize 24
HARD_MAX 1 usize 4096
MEM_ZERO 2 src
USER_DATA 1 usize 24-4096
UNITS 1 usize unit_byte
UNITS 3 ksize unit_byte

fs/file_attr.c __do_sys_file_getattr() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 1 usize 24-4096
PARAM_VALUE 2 src 5794308658386784256
PARAM_VALUE 3 ksize 24
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 24
DATA_SOURCE 0 dst $2
DATA_SOURCE 1 usize $3
FUZZY_MAX 1 usize 24
HARD_MAX 1 usize 4096
MEM_ZERO 2 src
USER_DATA 1 usize 24-4096
UNITS 1 usize unit_byte
UNITS 3 ksize unit_byte

kernel/sched/build_policy.c __do_sys_sched_getattr() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 usize 48-4096
PARAM_VALUE 2 src 5935336051117449216
PARAM_VALUE 3 ksize 56
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 56
DATA_SOURCE 0 dst $1
DATA_SOURCE 1 usize $2
USER_DATA 1 usize 48-4096
UNITS 3 ksize unit_byte

kernel/sched/build_policy.c __do_sys_sched_getattr() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 usize 48-4096
PARAM_VALUE 2 src 5935336051117449216
PARAM_VALUE 3 ksize 56
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 56
DATA_SOURCE 0 dst $1
DATA_SOURCE 1 usize $2
USER_DATA 1 usize 48-4096
UNITS 3 ksize unit_byte

io_uring/query.c io_handle_query_entry() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 1 usize 0-u32max
PARAM_VALUE 2 src 415647774985170944
PARAM_VALUE 4 ignored_trailing 0
CAPPED_DATA 3 ksize 1
DATA_SOURCE 2 src $0
PARAM_COMPARE 3 ksize <= $1
USER_DATA 1 usize 0-u32max
USER_DATA 3 ksize 0-s32max[c]
UNITS 1 usize unit_byte
UNITS 3 ksize unit_byte
USER_PTR 2 src
HALF_LOCKED2 &ctx->uring_lock

block/blk-integrity.c blk_get_meta_cap() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 1 usize 0-16383
PARAM_VALUE 2 src 8865634849613000704
PARAM_VALUE 3 ksize 16
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 16
DATA_SOURCE 0 dst $2
USER_DATA 1 usize 0-8[c]
UNITS 3 ksize unit_byte

drivers/accel/ethosu/ethosu_drv.c ethosu_ioctl_dev_query() -> copy_struct_to_user()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 usize 12-u32max
PARAM_VALUE 2 src 4096-ptr_max
PARAM_VALUE 3 ksize 16
PARAM_VALUE 4 ignored_trailing 0
BUF_SIZE 2 src 16
FUZZY_MAX 1 usize 12
USER_DATA 1 usize 12-u32max[u]
UNITS 1 usize unit_byte
UNITS 3 ksize unit_byte