Defined in 1 files as a function:
Referenced in 18 files:
- drivers/android/binder.c, line 6045
- fs/exec.c, line 998
- fs/proc/base.c
- fs/proc/fd.c, line 338
- include/linux/ptrace.h, line 93
- io_uring/io_uring.c, line 431
- kernel/exit.c
- kernel/ptrace.c
- kernel/sched/cputime.c, line 343
- kernel/signal.c
- kernel/sys.c
- kernel/time/posix-cpu-timers.c, line 79
- kernel/time/posix-timers.c, line 408
- kernel/trace/bpf_trace.c, line 3144
- mm/oom_kill.c
- security/landlock/fs.c, line 1960
- security/landlock/task.c, line 369
- security/yama/yama_lsm.c, line 315
Smatch caller information:
kernel/exit.c forget_original_parent() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| PARAM_VALUE | 1 | p2->signal | 4096-ptr_max |
| CAPPED_DATA | 1 | p2 | 1 |
| CAPPED_DATA | 1 | p2->cgroups | 1 |
| CAPPED_DATA | 1 | p2->sched_class | 1 |
| CAPPED_DATA | 1 | p2->signal | 1 |
| CAPPED_DATA | 1 | &p2->children | 1 |
| CAPPED_DATA | 1 | &p2->ptraced | 1 |
| DATA_SOURCE | 1 | p2 | $0 |
| PARAM_COMPARE | 1 | &p2->children | != $1->children.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p1->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p1->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p1->signal->group_exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p2->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p2->exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p2->signal->group_exit_code | 0,256-65280[c] |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->blkio_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->compact_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->freepages_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->irq_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->swapin_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->thrashing_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->delays->wpcopy_delay | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->blkio_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->compact_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->cpu_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->cpu_run_virtual_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->freepages_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->irq_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->swapin_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->thrashing_delay_total | |
| NO_OVERFLOW_SIMPLE | 1 | p2->signal->stats->wpcopy_delay_total | |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | global &system_transition_mutex |
kernel/exit.c is_effectively_child() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | p2 | unit_byte |
| HALF_LOCKED2 | global &tasklist_lock |
kernel/exit.c ptrace_reparented() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | p2 | unit_byte |
| HALF_LOCKED2 | global &tasklist_lock | ||
| HALF_LOCKED2 | irq |
mm/oom_kill.c __oom_kill_process() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-4931338248183341055,4931338248183341057-ptr_max |
| PARAM_VALUE | 0 | p1->signal | 4096-ptr_max |
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| PARAM_VALUE | 1 | p2->signal | 4096-ptr_max |
| CAPPED_DATA | 1 | p2 | 1 |
| CAPPED_DATA | 1 | p2->signal | 1 |
| DATA_SOURCE | 1 | p2 | $0 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &oom_lock | ||
| LOCK2 | rcu_read |
mm/oom_kill.c task_will_free_mem() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| PARAM_VALUE | 0 | p1->signal | 4096-ptr_max |
| PARAM_VALUE | 1 | p2 | 4096-4931338248183341055,4931338248183341057-ptr_max |
| PARAM_VALUE | 1 | p2->signal | 4096-ptr_max |
| CAPPED_DATA | 0 | p1->signal | 1 |
| DATA_SOURCE | 0 | p1 | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | global &oom_lock | ||
| HALF_LOCKED2 | 0 | &p1->alloc_lock |
security/landlock/fs.c control_current_fowner() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r pid_task |
| LOCK2 | rcu_read |
kernel/time/posix-cpu-timers.c pid_for_clock() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r pid_task |
| LOCK2 | rcu_read |
fs/proc/base.c __set_oom_adj() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| PARAM_VALUE | 0 | p1->signal | 4096-ptr_max |
| PARAM_VALUE | 1 | p2 | 4096-4931338248183341055,4931338248183341057-ptr_max |
| CAPPED_DATA | 0 | p1->signal | 1 |
| CAPPED_DATA | 0 | p1->signal->oom_score_adj | 1 |
| DATA_SOURCE | 0 | p1 | r get_proc_task |
| NOSPEC | 0 | p1->signal->oom_score_adj | |
| NOSPEC | 0 | p1->signal->oom_score_adj_min | |
| NOSPEC | 1 | p2->signal->oom_score_adj | |
| NOSPEC | 1 | p2->signal->oom_score_adj_min | |
| USER_DATA | 0 | p1->signal->oom_score_adj | (-1000)-1000[c] |
| USER_DATA | 0 | p1->signal->oom_score_adj_min | (-1000)-1000[c] |
| USER_DATA | 1 | p2->signal->oom_score_adj | (-1000)-1000[c] |
| USER_DATA | 1 | p2->signal->oom_score_adj_min | (-1000)-1000[c] |
| LOCK2 | global &oom_adj_mutex | ||
| LOCK2 | rcu_read |
fs/proc/base.c comm_write() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| DATA_SOURCE | 1 | p2 | r get_proc_task |
fs/proc/base.c first_tid() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| PARAM_VALUE | 1 | p2 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r find_task_by_pid_ns |
| DATA_SOURCE | 1 | p2 | r pid_task |
| 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_task_lookup() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| DATA_SOURCE | 0 | p1 | r get_proc_task |
| DATA_SOURCE | 1 | p2 | r find_task_by_pid_ns |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dir->i_rwsem |
fs/proc/base.c proc_tid_comm_permission() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| DATA_SOURCE | 1 | p2 | r get_proc_task |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex |
security/yama/yama_lsm.c ptracer_exception_found() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 1 | p2 | $0 |
| UNITS | 0 | p1 | unit_byte |
| LOCK2 | rcu_read |
kernel/ptrace.c __ptrace_detach() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | p2 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p2->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p2->exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p2->signal->group_exit_code | 0,256-65280[c] |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |
kernel/ptrace.c __ptrace_may_access() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| DATA_SOURCE | 0 | p1 | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &_T->lock->alloc_lock | ||
| HALF_LOCKED2 | 0 | &p1->alloc_lock | |
| HALF_LOCKED2 | 0 | &p1->signal->exec_update_lock |
kernel/ptrace.c ptrace_attach() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| DATA_SOURCE | 0 | p1 | $0 |
| BIT_INFO | 0 | p1->flags | 0x0,0xffdfffff |
security/landlock/task.c hook_task_kill() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p1 | $0 |
drivers/android/binder.c binder_mmap() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ipcp->lock |
fs/proc/fd.c proc_fd_permission() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r pid_task |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/sched/build_policy.c thread_group_cputime() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| DATA_SOURCE | 1 | p2 | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | 1 | &p2->sighand->siglock | |
| HALF_LOCKED2 | 1 | &p2->signal->exec_update_lock |
io_uring/io_uring.c io_queue_iowq() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ctx->uring_lock |
kernel/time/posix-timers.c good_sigevent() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r pid_task |
| LOCK2 | rcu_read |
kernel/signal.c check_kill_permission() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| CAPPED_DATA | 1 | p2->real_cred | 1 |
| DATA_SOURCE | 1 | p2 | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p2->parent->exit_code | 0,256-65280[c] |
| USER_DATA | 1 | p2->real_parent->exit_code | 0,256-65280[c] |
| LOCK2 | rcu_read |
kernel/signal.c kill_something_info() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-4931338248183341055,4931338248183341057-ptr_max |
| LOCK2 | global &tasklist_lock |
kernel/signal.c posixtimer_get_target() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 1-u64max |
| DATA_SOURCE | 0 | p1 | r pid_task |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &tsk->sighand->siglock | ||
| HALF_LOCKED2 | irq |
kernel/signal.c ptrace_reparented() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | p2 | unit_byte |
| LOCK2 | global &tasklist_lock |
kernel/sys.c __do_sys_prlimit64() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| CAPPED_DATA | 0 | p1 | 1 |
kernel/sys.c __do_sys_prlimit64() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| CAPPED_DATA | 0 | p1 | 1 |
kernel/sys.c __do_sys_setpgid() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
kernel/sys.c __do_sys_setpgid() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
kernel/trace/bpf_trace.c uprobe_prog_run() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p2 | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/exec.c de_thread() -> same_thread_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p1 | 4096-ptr_max |
| PARAM_VALUE | 1 | p2 | 4096-ptr_max |
| CAPPED_DATA | 1 | p2 | 1 |
| DATA_SOURCE | 1 | p2 | $0 |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |