Defined in 5 files as a macro:
- arch/arm64/include/asm/uaccess.h, line 421 (as a macro)
- arch/powerpc/include/asm/uaccess.h, line 479 (as a macro)
- arch/riscv/include/asm/uaccess.h, line 463 (as a macro)
- arch/x86/include/asm/uaccess.h, line 525 (as a macro)
- include/linux/uaccess.h, line 688 (as a macro)
Defined in 3 files as a function:
- arch/arm64/include/asm/uaccess.h, line 414 (as a function)
- arch/riscv/include/asm/uaccess.h, line 456 (as a function)
- arch/x86/include/asm/uaccess.h, line 518 (as a function)
Referenced in 14 files:
- arch/powerpc/kernel/signal_32.c
- arch/x86/include/asm/checksum_32.h
- arch/x86/include/asm/uaccess.h, line 516
- arch/x86/kernel/signal_32.c
- arch/x86/kernel/signal_64.c
- arch/x86/kernel/vm86_32.c, line 114
- arch/x86/kvm/x86.c
- arch/x86/lib/csum-wrappers_64.c
- arch/x86/lib/usercopy_32.c, line 328
- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c, line 1698
- include/linux/uaccess.h
- io_uring/io_uring.c, line 2524
- io_uring/net.c, line 275
- lib/iov_iter.c
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 |