Defined in 1 files as a function:

Referenced in 41 files:

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