Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 14 files:

Smatch caller information:

security/tomoyo/common.c tomoyo_read_pid() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
NO_OVERFLOW_SIMPLE 0 nr
LOCK2 &head->io_sem
LOCK2 global &tomoyo_ss
LOCK2 rcu_read
TYPE_LOCK (struct tomoyo_io_buffer)->io_sem

security/tomoyo/common.c tomoyo_select_domain() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
LOCK2 &head->io_sem
LOCK2 global &tomoyo_ss
LOCK2 rcu_read
TYPE_LOCK (struct tomoyo_io_buffer)->io_sem

fs/proc/base.c first_tid() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 nr s32min-(-1),1-s32max
DATA_SOURCE 0 nr $1
DATA_SOURCE 1 ns $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 nr s32min-(-2),0-s32max
DATA_SOURCE 0 nr r name_to_int
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nr 1-99[c][u]
LOCK2 rcu_read
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem

fs/proc/base.c proc_task_lookup() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 nr s32min-(-2),0-s32max
DATA_SOURCE 0 nr r name_to_int
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nr 1-99[c][u]
LOCK2 rcu_read
HALF_LOCKED2 &dir->i_rwsem

kernel/debug/kdb/kdb_main.c kdb_kill() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
USER_DATA 0 nr s32min-s32max
HALF_LOCKED2 rcu_read

kernel/debug/kdb/kdb_main.c kdb_pid() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
USER_DATA 0 nr s32min-s32max
NO_OVERFLOW_SIMPLE 0 nr
HALF_LOCKED2 rcu_read

kernel/debug/gdbstub.c getthread() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 nr 1-s32max
PARAM_VALUE 1 ns 5090646797026435072
DATA_SOURCE 0 nr $1 [m]
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

init/main.c rest_init() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 nr (-4095)-s32max
PARAM_VALUE 1 ns 5090646797026435072
DATA_SOURCE 0 nr r kernel_clone
LOCK2 rcu_read

init/main.c rest_init() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 nr (-4095)-s32max
PARAM_VALUE 1 ns 5090646797026435072
DATA_SOURCE 0 nr r kernel_thread
LOCK2 rcu_read

kernel/debug/kdb/kdb_bt.c kdb_bt() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
USER_DATA 0 nr s32min-s32max
NO_OVERFLOW_SIMPLE 0 nr
HALF_LOCKED2 rcu_read

kernel/pid.c find_task_by_vpid() -> find_task_by_pid_ns()

Type Parameter Key Value
DATA_SOURCE 0 nr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nr s32min-s32max
LOCK2 rcu_read
HALF_LOCKED2 &head->io_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &rdtgroup_mutex
HALF_LOCKED2 global &tasklist_lock
HALF_LOCKED2 global &tomoyo_ss
HALF_LOCKED2 irq

fs/nsfs.c ns_ioctl() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 4096-ptr_max
DATA_SOURCE 0 nr $2
USER_DATA 0 nr s32min-s32max
LOCK2 rcu_read

kernel/bpf/task_iter.c task_group_seq_get_next() -> find_task_by_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

fs/notify/fanotify/fanotify_user.c perm_group_watchdog() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
PREEMPT_ADD <- disables preempt
LOCK2 &group->notification_lock
LOCK2 global &perm_group_lock
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct fsnotify_group)->notification_lock

kernel/bpf/helpers.c bpf_task_from_pid() -> find_task_by_pid_ns()

Type Parameter Key Value
PARAM_VALUE 1 ns 5090646797026435072
DATA_SOURCE 0 nr $0
LOCK2 rcu_read