Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/proc/base.c pid_getattr() -> has_pid_permissions()

Type Parameter Key Value
PARAM_VALUE 1 task 1-u64max
PARAM_VALUE 2 hide_pid_min 2
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 1 task r pid_task
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

fs/proc/base.c proc_pid_lookup() -> has_pid_permissions()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->hide_pid 4
PARAM_VALUE 0 fs_info->pid_ns 4096-ptr_max
PARAM_VALUE 1 task 4096-ptr_max
PARAM_VALUE 2 hide_pid_min 1
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 1 task r find_task_by_pid_ns
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem

fs/proc/base.c proc_pid_permission() -> has_pid_permissions()

Type Parameter Key Value
PARAM_VALUE 1 task 4096-ptr_max
PARAM_VALUE 2 hide_pid_min 1
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 1 task r get_proc_task
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

fs/proc/base.c proc_pid_readdir() -> has_pid_permissions()

Type Parameter Key Value
PARAM_VALUE 1 task 4096-ptr_max
PARAM_VALUE 2 hide_pid_min 2
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 0 fs_info r proc_sb_info
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem