Documented in 1 files:
Defined in 1 files as a function:
Referenced in 4 files:
- arch/x86/lib/copy_mc.c
- include/asm-generic/cacheflush.h, line 109
- include/linux/uaccess.h
- lib/iov_iter.c
Smatch caller information:
lib/iov_iter.c copy_to_user_iter() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-u64max |
| CAPPED_DATA | 0 | to | 1 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $3 |
| DATA_SOURCE | 2 | n | $2 |
| NOSPEC | 2 | n | |
| NOSPEC | 2 | n | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | from | 4096-ptr_max[c] |
| HOST_DATA | 2 | n | 1-s32max[c] |
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 2 | n | 1-u64max[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| BYTE_COUNT | 1 | ==from2 | 8050 |
lib/iov_iter.c copy_to_user_iter_mc() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-u64max |
| CAPPED_DATA | 0 | to | 1 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $3 |
| DATA_SOURCE | 2 | n | $2 |
| NOSPEC | 2 | n | |
| NOSPEC | 2 | n | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | from | 4096-ptr_max[c] |
| HOST_DATA | 2 | n | 1-s32max[c] |
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 2 | n | 1-u64max[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| BYTE_COUNT | 1 | ==from2 | 8050 |
arch/x86/lib/copy_mc.c copy_mc_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| CAPPED_DATA | 0 | to | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| PARAM_COMPARE | 1 | from | == $2 |
| NOSPEC | 2 | n | |
| NOSPEC | 2 | n | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | from | 4096-ptr_max[c] |
| HOST_DATA | 2 | n | 1-s32max[c] |
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 2 | n | 0-u32max[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| BYTE_COUNT | 1 | ==from2 | 8050 |
arch/x86/lib/copy_mc.c copy_mc_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| CAPPED_DATA | 0 | to | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| PARAM_COMPARE | 1 | from | == $2 |
| NOSPEC | 2 | n | |
| NOSPEC | 2 | n | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | from | 4096-ptr_max[c] |
| HOST_DATA | 2 | n | 1-s32max[c] |
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 2 | n | 0-u32max[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| BYTE_COUNT | 1 | ==from2 | 8050 |
drivers/vhost/vhost.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1-u64max |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &vq->mutex |
mm/maccess.c __copy_to_user_inatomic() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 1 | from | (-1),32 |
| BUF_SIZE | 1 | from | (-1),32 |
| CAPPED_DATA | 0 | to | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| PARAM_COMPARE | 1 | from | == $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | from | 4096-ptr_max[c] |
| HOST_DATA | 2 | n | 1-s32max[c] |
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 2 | n | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 2 | n | |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| BYTE_COUNT | 1 | ==from2 | 8050 |
| HALF_LOCKED2 | &vcpu->kvm->srcu |
mm/kasan/kasan_test_c.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1-18446744073709551614 |
| PARAM_VALUE | 1 | from | 16,4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-s32max |
| BUF_SIZE | 1 | from | 120 |
| BUF_SIZE | 1 | from | 120 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL | |||
| USER_PTR | 1 | from |
mm/kasan/kasan_test_c.c __copy_to_user_inatomic() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1-18446744073709551614 |
| PARAM_VALUE | 1 | from | 16,4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-s32max |
| BUF_SIZE | 1 | from | 120 |
| BUF_SIZE | 1 | from | 120 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL | |||
| USER_PTR | 1 | from |
drivers/gpu/drm/i915/i915_query.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 5148302030943776768,5403522287358320640 |
| PARAM_VALUE | 2 | n | 16,88 |
| BUF_SIZE | 1 | from | 16,88 |
| BUF_SIZE | 1 | from | 16,88 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| HARD_MAX | 2 | n | 88 |
| NOCHECK_CALL | |||
| UNITS | 0 | to | unit_byte |
| UNITS | 2 | n | unit_byte |
mm/memory.c __access_remote_vm() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | n | 1-4096 |
| BUF_SIZE | 1 | from | (-1),4,8,15,128,256,4096 |
| BUF_SIZE | 1 | from | (-1),4,8,15,128,256,4096 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 1 | from | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | n | 1-4096[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| USER_PTR | 1 | from | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/select.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1-u64max |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 0-268435456 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | n | 0-268435456[c] |
drivers/gpu/drm/i915/i915_gem.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 1 | *from | 0-255 |
| PARAM_VALUE | 2 | n | 1-4096 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | n | 2-4096[c] |
drivers/gpu/drm/i915/i915_gem.c __copy_to_user_inatomic() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-4096 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOSPEC | 2 | n | |
| NOSPEC | 2 | n | |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | n | 2-4096[c] |
| NO_OVERFLOW_SIMPLE | 2 | n | |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
lib/usercopy.c _inline_copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 0 | to | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL |
drivers/vhost/scsi.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 16 |
| BUF_SIZE | 1 | from | 16 |
| BUF_SIZE | 1 | from | 16 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | to | unit_byte |
| UNITS | 2 | n | unit_byte |
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
arch/x86/kvm/../../../virt/kvm/kvm_main.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 0-ptr_max |
| PARAM_VALUE | 2 | n | 0-s32max,18446744071562067968-u64max |
| BUF_SIZE | 1 | from | s32min,(-1),1-65536 |
| BUF_SIZE | 1 | from | s32min,(-1),1-65536 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 1 | from | 4096-ptr_max[c][u] |
| USER_DATA | 1 | *from | s64min-s64max |
| USER_DATA | 2 | n | 2-4095[c] |
| UNITS | 0 | to | unit_byte |
| UNITS | 2 | n | unit_byte |
| USER_PTR | 1 | from | |
| HALF_LOCKED2 | &kvm->srcu |
arch/x86/kvm/vmx/vmx.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 1 | from | 4685813931918262272,6639183754634768384,18379471554275704832,18446612682070032384 |
| PARAM_VALUE | 2 | n | 1-2,4,4096 |
| BUF_SIZE | 1 | from | (-1),2,4 |
| BUF_SIZE | 1 | from | (-1),2,4 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| HARD_MAX | 2 | n | 4096 |
| NOCHECK_CALL | |||
| UNITS | 2 | n | unit_byte |
| HALF_LOCKED2 | &kvm->slots_lock |
arch/x86/kernel/fpu/signal.c __copy_to_user() -> instrument_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 0,64-u64max |
| PARAM_VALUE | 1 | from | 7801372520113164288,8523954333531799552 |
| PARAM_VALUE | 2 | n | 48,108 |
| BUF_SIZE | 0 | to | (-1),48 |
| BUF_SIZE | 0 | to | (-1),48 |
| BUF_SIZE | 1 | from | 48,108 |
| BUF_SIZE | 1 | from | 48,108 |
| CAPPED_DATA | 0 | to | 1 |
| DATA_SOURCE | 0 | to | $0 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| HARD_MAX | 2 | n | 108 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | n | unit_byte |