Defined in 5 files as a macro:

Defined in 3 files as a function:

Referenced in 14 files:

Smatch caller information:

kernel/exit.c __do_compat_sys_waitid() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
DATA_SOURCE 0 ptr $2
UNITS 1 len unit_byte

kernel/exit.c __do_compat_sys_waitid() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
DATA_SOURCE 0 ptr $2
UNITS 1 len unit_byte

kernel/exit.c __do_sys_waitid() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
DATA_SOURCE 0 ptr $2
UNITS 1 len unit_byte

kernel/exit.c __do_sys_waitid() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
DATA_SOURCE 0 ptr $2
UNITS 1 len unit_byte

lib/iov_iter.c copy_compat_iovec_from_user() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 8-8192
DATA_SOURCE 0 ptr $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 len 8-8192[c]
UNITS 0 ptr unit_byte
HALF_LOCKED2 &ctx->uring_lock

lib/iov_iter.c copy_iovec_from_user() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 16-16384
DATA_SOURCE 0 ptr $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 len 16-16384[c]
UNITS 0 ptr unit_byte
HALF_LOCKED2 &ctx->uring_lock

kernel/compat.c compat_get_bitmap() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 0,4-268435456
CAPPED_DATA 1 len 1
DATA_SOURCE 0 ptr $1
USER_DATA 1 len 0,4-268435456[c]
HALF_LOCKED2 &ctx->uring_lock

kernel/compat.c compat_put_bitmap() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 0,4-2305843009213693951
CAPPED_DATA 1 len 1
DATA_SOURCE 0 ptr $0
USER_DATA 1 len 0,4-2305843009213693951[c]

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c eb_copy_relocations() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 32-137438953440
CAPPED_DATA 1 len 1
CAPPED_DATA 1 len 1
NO_OVERFLOW_SIMPLE 1 len
HALF_LOCKED2 pool->obj->base.resv

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c i915_gem_execbuffer2_ioctl() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 56-2147483632
USER_DATA 1 len 56-2147483632[c]

arch/x86/kernel/signal_64.c x32_setup_rt_frame() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 424
DATA_SOURCE 0 ptr r get_sigframe
BIT_INFO 0 ptr 0xfffffffffffffff8,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte

arch/x86/kernel/signal_64.c x64_setup_rt_frame() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 440
DATA_SOURCE 0 ptr r get_sigframe
BIT_INFO 0 ptr 0xfffffffffffffff8,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte

drivers/gpu/drm/i915/i915_query.c copy_perf_config_registers_or_number() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 0-34359738360
DATA_SOURCE 0 ptr $2

io_uring/io_uring.c io_get_ext_arg() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 24
DATA_SOURCE 0 ptr $2
UNITS 1 len unit_byte

arch/x86/kvm/x86.c record_steal_time() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-18446612682070032383
PARAM_VALUE 1 len 64
UNITS 1 len unit_byte
LOCK2 &vcpu->kvm->srcu
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c record_steal_time() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-18446612682070032383
PARAM_VALUE 1 len 64
UNITS 1 len unit_byte
LOCK2 &vcpu->kvm->srcu
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c record_steal_time() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-18446612682070032383
PARAM_VALUE 1 len 64
UNITS 1 len unit_byte
LOCK2 &vcpu->kvm->srcu
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

io_uring/net.c io_copy_msghdr_from_user() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 56
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte
LOCK2 &ctx->uring_lock
HALF_LOCKED2 &sqd->lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

sound/core/pcm_native.c snd_pcm_ioctl_sync_ptr_compat() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 132
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

sound/core/pcm_native.c snd_pcm_ioctl_sync_ptr_compat() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 132
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

sound/core/pcm_native.c snd_pcm_ioctl_sync_ptr_x32() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-u32max
PARAM_VALUE 1 len 136
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

sound/core/pcm_native.c snd_pcm_ioctl_sync_ptr_x32() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-u32max
PARAM_VALUE 1 len 136
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

sound/core/pcm_native.c snd_pcm_sync_ptr() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 136
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

sound/core/pcm_native.c snd_pcm_sync_ptr() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 136
DATA_SOURCE 0 ptr $1
UNITS 1 len unit_byte

mm/gup.c fault_in_readable() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PARAM_VALUE 1 len 1-u64max
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 len $1
NOSPEC 1 len
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 len 1-1000000000[c]
UNITS 0 ptr unit_byte
UNITS 1 len unit_byte

mm/gup.c fault_in_writeable() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PARAM_VALUE 1 len 1-u64max
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 len $1
CAPABLE 0 21
UNITS 0 ptr unit_byte
UNITS 1 len unit_byte

arch/x86/kernel/signal_32.c ia32_setup_frame() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 736
DATA_SOURCE 0 ptr r get_sigframe
BIT_INFO 0 ptr 0xfffffffffffffff8,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte

arch/x86/kernel/signal_32.c ia32_setup_rt_frame() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 268
DATA_SOURCE 0 ptr r get_sigframe
BIT_INFO 0 ptr 0xfffffffffffffff8,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte

lib/usercopy.c check_zeroed_user() -> user_access_begin()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 len $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 len 1-4294967302
UNITS 0 ptr unit_byte
UNITS 1 len unit_byte
HALF_LOCKED2 &client->cdev->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &group->reg_mutex
HALF_LOCKED2 sk

arch/x86/kernel/sys_ia32.c cp_stat64() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 1 len 96
DATA_SOURCE 0 ptr $0
UNITS 1 len unit_byte

io_uring/waitid.c io_waitid_compat_copy_si() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte

io_uring/waitid.c io_waitid_copy_si() -> user_access_begin()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 len 128
RX_PATH
TASK_NOT_RUNNING
UNITS 1 len unit_byte