Defined in 1 files as a macro:

Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

lib/strncpy_from_user.c strncpy_from_user() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
STR_LEN 0 ptr (-1),10
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte
HALF_LOCKED2 &av7110->osd_mutex
HALF_LOCKED2 &vfpriv->context_lock
HALF_LOCKED2 global &system_transition_mutex

lib/iov_iter.c copy_from_user_inatomic_nontemporal() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
DATA_SOURCE 0 ptr $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte

lib/iov_iter.c copy_from_user_iter() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
DATA_SOURCE 0 ptr $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte

drivers/gpu/drm/qxl/qxl_ioctl.c copy_from_user_inatomic_nontemporal() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1

kernel/entry/common.c __rseq_grant_slice_extension() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/entry/common.c rseq_exit_user_update() -> mask_user_address()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/entry/common.c rseq_set_ids_get_csaddr() -> mask_user_address()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/entry/common.c rseq_update_user_cs() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-18446744073709551614
DATA_SOURCE 0 ptr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/futex/core.c futex_atomic_cmpxchg_inatomic() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &curr->futex.exit_mutex
TYPE_LOCK (struct futex_sched_data)->exit_mutex

kernel/futex/core.c get_futex_key() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/futex/core.c get_futex_key() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rseq.c rseq_debug_update_user_cs() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-18446744073709551614
DATA_SOURCE 0 ptr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rseq.c rseq_handle_cs() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/rseq.c rseq_register() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0

kernel/rseq.c rseq_reset_ids() -> mask_user_address()

Type Parameter Key Value

kernel/rseq.c rseq_set_ids_get_csaddr() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/rseq.c rseq_update_user_cs() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-18446744073709551614
DATA_SOURCE 0 ptr $2
RX_PATH
TASK_NOT_RUNNING

lib/strnlen_user.c strnlen_user() -> mask_user_address()

Type Parameter Key Value
BUF_SIZE 0 ptr (-1),512
DATA_SOURCE 0 ptr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte

net/core/scm.c put_cmsg() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte
HALF_LOCKED2 &call->user_mutex
HALF_LOCKED2 &rx->sk
HALF_LOCKED2 &u->iolock
HALF_LOCKED2 sk

fs/readdir.c compat_filldir() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(sb->s_fs_info)->cat_tree->tree_lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ndir->mrec_lock
HALF_LOCKED2 &ni->ni_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->s_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &adfs_dir_rwsem

fs/readdir.c compat_fillonedir() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(sb->s_fs_info)->cat_tree->tree_lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ndir->mrec_lock
HALF_LOCKED2 &ni->ni_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->s_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &adfs_dir_rwsem

fs/readdir.c filldir() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(sb->s_fs_info)->cat_tree->tree_lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ndir->mrec_lock
HALF_LOCKED2 &ni->ni_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->s_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &adfs_dir_rwsem

fs/readdir.c filldir64() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(sb->s_fs_info)->cat_tree->tree_lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ndir->mrec_lock
HALF_LOCKED2 &ni->ni_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->s_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &adfs_dir_rwsem

fs/readdir.c fillonedir() -> mask_user_address()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(sb->s_fs_info)->cat_tree->tree_lock
HALF_LOCKED2 &f->sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &ndir->mrec_lock
HALF_LOCKED2 &ni->ni_lock
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 &sbi->s_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &adfs_dir_rwsem

kernel/futex/waitwake.c arch_futex_atomic_op_inuser() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $3
RX_PATH

kernel/futex/waitwake.c futex_get_value_locked() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hb->lock
TYPE_LOCK (struct futex_hash_bucket)->lock

kernel/futex/waitwake.c futex_robust_unlock() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &curr->futex.exit_mutex

fs/eventpoll.c epoll_put_uevent() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ep->mtx
TYPE_LOCK (struct eventpoll)->mtx

net/socket.c move_addr_to_user() -> mask_user_address()

Type Parameter Key Value
BUF_SIZE 0 ptr (-1),4
DATA_SOURCE 0 ptr $3
RX_PATH
TASK_NOT_RUNNING

kernel/futex/pi.c futex_atomic_cmpxchg_inatomic() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
PREEMPT_ADD
RX_PATH
HALF_LOCKED2 &hb->lock
HALF_LOCKED2 &pi_state->pi_mutex.wait_lock
HALF_LOCKED2 irq

kernel/futex/pi.c futex_get_value_locked() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
PREEMPT_ADD
RX_PATH
HALF_LOCKED2 &hb->lock
HALF_LOCKED2 &pi_state->pi_mutex.wait_lock
HALF_LOCKED2 irq

kernel/futex/requeue.c futex_get_value_locked() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
RX_PATH

fs/select.c do_sys_poll() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0

fs/select.c get_compat_sigset_argpack() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
DATA_SOURCE 0 ptr $1

fs/select.c get_sigset_argpack() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
DATA_SOURCE 0 ptr $1

arch/x86/lib/usercopy_64.c copy_user_flushcache() -> mask_user_address()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
DATA_SOURCE 0 ptr $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ptr unit_byte

drivers/gpu/drm/i915/i915_gem.c copy_from_user_inatomic_nontemporal() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1
PREEMPT_ADD

lib/usercopy.c _inline_copy_from_user() -> mask_user_address()

Type Parameter Key Value
DATA_SOURCE 0 ptr $1