Defined in 1 files as a function:
Referenced in 41 files:
- arch/alpha/kernel/signal.c
- arch/arc/kernel/signal.c
- arch/arm/kernel/signal.c
- arch/arm64/kernel/signal.c
- arch/csky/kernel/signal.c
- arch/hexagon/kernel/signal.c, line 235
- arch/loongarch/kernel/signal.c, line 913
- arch/m68k/kernel/signal.c
- arch/microblaze/kernel/signal.c, line 95
- arch/mips/kernel/signal.c
- arch/nios2/kernel/signal.c, line 113
- arch/openrisc/kernel/signal.c
- arch/parisc/kernel/signal.c
- arch/parisc/kernel/signal32.c, line 60
- arch/powerpc/kernel/signal.c
- arch/powerpc/kernel/signal.h
- arch/powerpc/kernel/signal_64.c
- arch/powerpc/kvm/book3s_64_mmu_hv.c, line 1833
- arch/powerpc/lib/pmem.c, line 75
- arch/powerpc/mm/book3s64/subpage_prot.c, line 267
- arch/riscv/kernel/compat_signal.c
- arch/riscv/kernel/signal.c
- arch/s390/kernel/signal.c
- arch/sh/kernel/signal_32.c
- arch/sparc/kernel/signal_32.c
- arch/sparc/kernel/signal_64.c
- arch/sparc/kernel/sigutil_32.c
- arch/x86/kernel/fpu/signal.c
- arch/x86/kernel/tls.c, line 284
- arch/x86/kvm/vmx/sgx.c, line 67
- arch/xtensa/include/asm/uaccess.h, line 179
- arch/xtensa/kernel/signal.c
- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
- drivers/gpu/drm/i915/i915_gem.c, line 655
- drivers/vhost/vhost.c
- include/linux/regset.h, line 278
- include/linux/uaccess.h, line 694
- kernel/trace/trace.c, line 6266
- kernel/trace/trace_syscalls.c, line 686
- mm/kasan/kasan_test_c.c, line 2185
- virt/kvm/kvm_main.c
Smatch caller information:
drivers/vhost/vhost.c vhost_copy_from_user() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 5686255541217935360 |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 16 |
| DATA_SOURCE | 0 | to | $1 |
| DATA_SOURCE | 1 | from | $2 |
| DATA_SOURCE | 2 | n | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 2 | n | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/vhost.c vhost_copy_from_user() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 5686255541217935360 |
| PARAM_VALUE | 1 | from | 1-u64max |
| PARAM_VALUE | 2 | n | 16 |
| DATA_SOURCE | 0 | to | $1 |
| DATA_SOURCE | 1 | from | r vhost_vq_meta_fetch |
| DATA_SOURCE | 2 | n | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 2 | n | unit_byte |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_fence_array() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 2056203987408289792 |
| PARAM_VALUE | 2 | n | 8 |
| BUF_SIZE | 0 | to | 8 |
| UNITS | 2 | n | unit_byte |
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4111804719544360960 |
| PARAM_VALUE | 2 | n | 8 |
| BUF_SIZE | 0 | to | 8 |
| UNITS | 2 | n | unit_byte |
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c eb_copy_relocations() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1-18446744073709551614 |
| PARAM_VALUE | 0 | *to | 0-255 |
| PARAM_VALUE | 1 | *from | 0-255 |
| PARAM_VALUE | 2 | n | 1-2147483648 |
| CAPPED_DATA | 2 | n | 1 |
| HALF_LOCKED2 | pool->obj->base.resv |
kernel/trace/trace_syscalls.c syscall_copy_user_array() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | n | 0-169 |
| BUF_SIZE | 0 | to | (-1),510,4096 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $0 [m] |
| DATA_SOURCE | 2 | n | $2 |
| FUZZY_MAX | 2 | n | 169 |
| USER_DATA | 2 | n | 0-169[c] |
arch/x86/kvm/vmx/sgx.c sgx_read_hva() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 18379471554275704832,18446612682070032384 |
| PARAM_VALUE | 2 | n | 4096 |
| DATA_SOURCE | 0 | to | $2 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $3 |
| UNITS | 2 | n | unit_byte |
mm/kasan/kasan_test_c.c copy_user_test_oob() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 16,4096-ptr_max |
| PARAM_VALUE | 1 | from | 1-18446744073709551614 |
| PARAM_VALUE | 2 | n | 1-s32max |
| BUF_SIZE | 0 | to | 120 |
| DATA_SOURCE | 0 | to | r kunit_kmalloc |
| USER_PTR | 0 | to |
kernel/trace/trace.c trace_user_fault_read() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | n | 0-4096 |
| BUF_SIZE | 0 | to | 510,4096 |
| CAPPED_DATA | 2 | n | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 1 | from | $1 |
| DATA_SOURCE | 2 | n | $2 |
| FUZZY_MAX | 2 | n | 4096 |
| USER_DATA | 2 | n | 0-4096[c] |
| UNITS | 2 | n | unit_byte |
arch/x86/kernel/fpu/regset.c user_regset_copyin() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 1865865750782967808,2996045642319462400,4812849990974570496 |
| PARAM_VALUE | 2 | n | 8,108,512 |
| DATA_SOURCE | 0 | to | $4 |
drivers/gpu/drm/i915/i915_gem.c shmem_pwrite() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4096-ptr_max |
| PARAM_VALUE | 0 | *to | 0-255 |
| PARAM_VALUE | 2 | n | 1-4096 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 1 | from | $3 |
| DATA_SOURCE | 2 | n | $2 |
| USER_DATA | 2 | n | 2-4096[c] |
| NO_OVERFLOW_SIMPLE | 2 | n |
arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_read_guest_page() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 1-4096 |
| BUF_SIZE | 0 | to | (-1),1-65536 |
| BUF_SIZE | 0 | to | (-1),1-65536 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 0 | to | $2 |
| DATA_SOURCE | 2 | n | $4 |
| PREEMPT_ADD | |||
| USER_DATA | 0 | to | 4096-ptr_max[c][u] |
| USER_DATA | 0 | *to | s64min-s64max |
| USER_DATA | 2 | n | 1-4096[c] |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
| USER_PTR | 0 | to |
arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_read_guest_offset_cached() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 0-ptr_max |
| PARAM_VALUE | 2 | n | 1,4,624,4096 |
| BUF_SIZE | 0 | to | (-1),4,624 |
| BUF_SIZE | 0 | to | (-1),4,624 |
| DATA_SOURCE | 0 | to | $2 |
| DATA_SOURCE | 2 | n | $4 |
| HARD_MAX | 2 | n | 4096 |
| PREEMPT_ADD | |||
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
arch/x86/kernel/fpu/signal.c __fpu_restore_sig() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 4475973691232710656 |
| PARAM_VALUE | 1 | from | 1-u64max |
| PARAM_VALUE | 2 | n | 108 |
| BUF_SIZE | 0 | to | 108 |
| CAPPED_DATA | 1 | from | 1 |
| DATA_SOURCE | 1 | from | $0 |
| UNITS | 2 | n | unit_byte |
arch/x86/kernel/fpu/signal.c __fpu_restore_sig() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | from | 1-u64max |
| PARAM_VALUE | 2 | n | 512 |
| BUF_SIZE | 0 | to | 512 |
| DATA_SOURCE | 1 | from | $1 |
| UNITS | 1 | from | unit_byte |
| UNITS | 2 | n | unit_byte |
arch/x86/kernel/fpu/signal.c check_xstate_in_sigframe() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 5007538177584140288 |
| PARAM_VALUE | 1 | from | 4096-ptr_max |
| PARAM_VALUE | 2 | n | 48 |
| BUF_SIZE | 1 | from | 48 |
| DATA_SOURCE | 0 | to | $1 |
| UNITS | 2 | n | unit_byte |
arch/x86/kernel/tls.c regset_tls_set() -> __copy_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | to | 2787234788068900864 |
| BUF_SIZE | 0 | to | 48 |
| CAPPED_DATA | 1 | from | 1 |
| CAPPED_DATA | 2 | n | 1 |
| DATA_SOURCE | 1 | from | $5 |
| DATA_SOURCE | 2 | n | $3 |