Defined in 6 files as a prototype:
- arch/csky/include/asm/uaccess.h, line 196 (as a prototype)
- arch/hexagon/include/asm/uaccess.h, line 27 (as a prototype)
- arch/nios2/include/asm/uaccess.h, line 59 (as a prototype)
- arch/parisc/include/asm/uaccess.h, line 196 (as a prototype)
- arch/sparc/include/asm/uaccess_64.h, line 231 (as a prototype)
- arch/um/include/asm/uaccess.h, line 22 (as a prototype)
Defined in 1 files as a macro:
Defined in 21 files as a function:
- arch/alpha/include/asm/uaccess.h, line 192 (as a function)
- arch/arc/include/asm/uaccess.h, line 367 (as a function)
- arch/arm/include/asm/uaccess.h, line 577 (as a function)
- arch/arm/include/asm/uaccess.h, line 612 (as a function)
- arch/csky/lib/usercopy.c, line 78 (as a function)
- arch/loongarch/include/asm/uaccess.h, line 290 (as a function)
- arch/m68k/include/asm/uaccess.h, line 374 (as a function)
- arch/microblaze/include/asm/uaccess.h, line 249 (as a function)
- arch/mips/include/asm/uaccess.h, line 416 (as a function)
- arch/openrisc/include/asm/uaccess.h, line 217 (as a function)
- arch/parisc/lib/memcpy.c, line 24 (as a function)
- arch/powerpc/include/asm/uaccess.h, line 411 (as a function)
- arch/riscv/include/asm/uaccess.h, line 430 (as a function)
- arch/s390/include/asm/uaccess.h, line 64 (as a function)
- arch/sh/include/asm/uaccess.h, line 94 (as a function)
- arch/sparc/include/asm/uaccess_32.h, line 183 (as a function)
- arch/um/kernel/skas/uaccess.c, line 162 (as a function)
- arch/x86/include/asm/uaccess_32.h, line 18 (as a function)
- arch/x86/include/asm/uaccess_64.h, line 145 (as a function)
- arch/xtensa/include/asm/uaccess.h, line 235 (as a function)
- include/asm-generic/uaccess.h, line 89 (as a function)
Referenced in 17 files:
- arch/csky/lib/usercopy.c, line 143
- arch/hexagon/kernel/hexagon_ksyms.c, line 16
- arch/hexagon/mm/copy_to_user.S, line 33
- arch/hexagon/mm/uaccess.c
- arch/nios2/mm/uaccess.c, line 130
- arch/parisc/lib/memcpy.c, line 31
- arch/sparc/lib/GENpatch.S, line 31
- arch/sparc/lib/M7patch.S, line 31
- arch/sparc/lib/NG2patch.S, line 31
- arch/sparc/lib/NG4patch.S, line 33
- arch/sparc/lib/NGpatch.S, line 31
- arch/sparc/lib/U1copy_to_user.S, line 23
- arch/sparc/lib/U3patch.S, line 31
- arch/um/kernel/skas/uaccess.c, line 166
- include/asm-generic/uaccess.h, line 136
- include/linux/uaccess.h
- lib/iov_iter.c, line 25
Smatch caller information:
lib/iov_iter.c copy_to_user_iter() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 4096-ptr_max |
| PARAM_VALUE | 1 | src | 4096-ptr_max |
| PARAM_VALUE | 2 | size | 1-u64max |
| CAPPED_DATA | 0 | dst | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $3 |
| DATA_SOURCE | 2 | size | $2 |
| NOSPEC | 2 | size | |
| NOSPEC | 2 | size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | src | 4096-ptr_max[c] |
| HOST_DATA | 2 | size | 1-s32max[c] |
| USER_DATA | 1 | src | 4096-ptr_max[c][u] |
| USER_DATA | 2 | size | 1-u64max[c] |
| UNITS | 0 | dst | unit_byte |
| UNITS | 1 | src | unit_byte |
| UNITS | 2 | size | unit_byte |
| BYTE_COUNT | 1 | ==src2 | 8050 |
drivers/vhost/vhost.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 1-u64max |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | src | |
| HALF_LOCKED2 | &vq->mutex |
mm/maccess.c __copy_to_user_inatomic() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 1 | src | (-1),32 |
| BUF_SIZE | 1 | src | (-1),32 |
| CAPPED_DATA | 0 | dst | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| PARAM_COMPARE | 1 | src | == $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | src | 4096-ptr_max[c] |
| HOST_DATA | 2 | size | 1-s32max[c] |
| USER_DATA | 1 | src | 4096-ptr_max[c][u] |
| USER_DATA | 2 | size | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 2 | size | |
| UNITS | 0 | dst | unit_byte |
| UNITS | 1 | src | unit_byte |
| UNITS | 2 | size | unit_byte |
| BYTE_COUNT | 1 | ==src2 | 8050 |
| HALF_LOCKED2 | &vcpu->kvm->srcu |
mm/kasan/kasan_test_c.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 1-18446744073709551614 |
| PARAM_VALUE | 1 | src | 16,4096-ptr_max |
| PARAM_VALUE | 2 | size | 1-s32max |
| BUF_SIZE | 1 | src | 120 |
| BUF_SIZE | 1 | src | 120 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| USER_PTR | 1 | src |
mm/kasan/kasan_test_c.c __copy_to_user_inatomic() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 1-18446744073709551614 |
| PARAM_VALUE | 1 | src | 16,4096-ptr_max |
| PARAM_VALUE | 2 | size | 1-s32max |
| BUF_SIZE | 1 | src | 120 |
| BUF_SIZE | 1 | src | 120 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| USER_PTR | 1 | src |
drivers/gpu/drm/i915/i915_query.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | src | 5148302030943776768,5403522287358320640 |
| PARAM_VALUE | 2 | size | 16,88 |
| BUF_SIZE | 1 | src | 16,88 |
| BUF_SIZE | 1 | src | 16,88 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| HARD_MAX | 2 | size | 88 |
| UNITS | 0 | dst | unit_byte |
| UNITS | 2 | size | unit_byte |
fs/select.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 1-u64max |
| PARAM_VALUE | 1 | src | 4096-ptr_max |
| PARAM_VALUE | 2 | size | 0-268435456 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| USER_DATA | 2 | size | 0-268435456[c] |
drivers/gpu/drm/i915/i915_gem.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | src | 4096-ptr_max |
| PARAM_VALUE | 2 | size | 1-4096 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| USER_DATA | 2 | size | 2-4096[c] |
drivers/gpu/drm/i915/i915_gem.c __copy_to_user_inatomic() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | src | 4096-ptr_max |
| PARAM_VALUE | 2 | size | 1-4096 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| NOSPEC | 2 | size | |
| NOSPEC | 2 | size | |
| PREEMPT_ADD | |||
| USER_DATA | 2 | size | 2-4096[c] |
| NO_OVERFLOW_SIMPLE | 2 | size | |
| UNITS | 1 | src | unit_byte |
| UNITS | 2 | size | unit_byte |
lib/usercopy.c _inline_copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 0 | dst | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
drivers/vhost/scsi.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | src | 4096-ptr_max |
| PARAM_VALUE | 2 | size | 16 |
| BUF_SIZE | 1 | src | 16 |
| BUF_SIZE | 1 | src | 16 |
| CAPPED_DATA | 1 | src | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dst | unit_byte |
| UNITS | 2 | size | unit_byte |
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
arch/x86/kvm/../../../virt/kvm/kvm_main.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 0-ptr_max |
| PARAM_VALUE | 2 | size | 0-s32max,18446744071562067968-u64max |
| BUF_SIZE | 1 | src | s32min,(-1),1-65536 |
| BUF_SIZE | 1 | src | s32min,(-1),1-65536 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| USER_DATA | 1 | src | 4096-ptr_max[c][u] |
| USER_DATA | 1 | *src | s64min-s64max |
| USER_DATA | 2 | size | 2-4095[c] |
| UNITS | 0 | dst | unit_byte |
| UNITS | 2 | size | unit_byte |
| USER_PTR | 1 | src | |
| HALF_LOCKED2 | &kvm->srcu |
arch/x86/kvm/vmx/vmx.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 4096-ptr_max |
| PARAM_VALUE | 1 | src | 4685813931918262272,6639183754634768384,18379471554275704832,18446612682070032384 |
| PARAM_VALUE | 2 | size | 1-2,4,4096 |
| BUF_SIZE | 1 | src | (-1),2,4 |
| BUF_SIZE | 1 | src | (-1),2,4 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| HARD_MAX | 2 | size | 4096 |
| UNITS | 2 | size | unit_byte |
| HALF_LOCKED2 | &kvm->slots_lock |
arch/x86/kernel/fpu/signal.c __copy_to_user() -> raw_copy_to_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst | 0,64-u64max |
| PARAM_VALUE | 1 | src | 7801372520113164288,8523954333531799552 |
| PARAM_VALUE | 2 | size | 48,108 |
| BUF_SIZE | 0 | dst | (-1),48 |
| BUF_SIZE | 0 | dst | (-1),48 |
| BUF_SIZE | 1 | src | 48,108 |
| BUF_SIZE | 1 | src | 48,108 |
| CAPPED_DATA | 0 | dst | 1 |
| CAPPED_DATA | 1 | src | 1 |
| CAPPED_DATA | 2 | size | 1 |
| CAPPED_DATA | 2 | size | 1 |
| DATA_SOURCE | 0 | dst | $0 |
| DATA_SOURCE | 1 | src | $1 |
| DATA_SOURCE | 2 | size | $2 |
| HARD_MAX | 2 | size | 108 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 2 | size | unit_byte |