Defined in 1 files as a function:
Referenced in 16 files:
- fs/binfmt_elf.c, line 1495
- fs/binfmt_elf_fdpic.c, line 1318
- fs/exec.c
- include/linux/sched/signal.h
- kernel/acct.c, line 577
- kernel/bpf/task_iter.c, line 128
- kernel/cgroup/cgroup.c
- kernel/cgroup/cpuset.c, line 2713
- kernel/exit.c
- kernel/fork.c, line 2513
- kernel/pid_namespace.c, line 197
- kernel/ptrace.c, line 572
- kernel/sys.c, line 1141
- kernel/tsacct.c, line 48
- net/core/netclassid_cgroup.c, line 96
- security/yama/yama_lsm.c
Smatch caller information:
kernel/exit.c __exit_signal() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |
kernel/exit.c exit_notify() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| CAPPED_DATA | 0 | p->cgroups | 1 |
| CAPPED_DATA | 0 | p->sched_class | 1 |
| CAPPED_DATA | 0 | p->signal | 1 |
| DATA_SOURCE | 0 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->signal->group_exit_code | 0,256-65280[c] |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | global &system_transition_mutex |
kernel/exit.c release_task() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 [m] |
| PARAM_COMPARE | 0 | &p->ptraced | == $0->ptraced.next |
| MEM_ZERO | 0 | &p->pending.signal | |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/exit.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->signal->group_exit_code | 0,256-65280[c] |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->blkio_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->compact_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->freepages_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->irq_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->swapin_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->thrashing_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->wpcopy_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->blkio_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->compact_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->cpu_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->cpu_run_virtual_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->freepages_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->irq_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->swapin_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->thrashing_delay_total | |
| NO_OVERFLOW_SIMPLE | 0 | p->signal->stats->wpcopy_delay_total | |
| HALF_LOCKED2 | global &tasklist_lock | ||
| HALF_LOCKED2 | irq |
kernel/exit.c wait_consider_task() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &tasklist_lock |
kernel/exit.c wait_task_zombie() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $1 |
| PARAM_COMPARE | 0 | p->parent->signal | != $0->real_parent->signal |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &tasklist_lock |
kernel/exit.c wait_task_zombie() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/fork.c copy_process() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| CAPPED_DATA | 0 | p->mempolicy | 1 |
| CAPPED_DATA | 0 | p->real_cred | 1 |
| DATA_SOURCE | 0 | p | r dup_task_struct |
| BIT_INFO | 0 | p->flags | 0x40,0xffffffffffffffff |
| NOSPEC | 0 | p->thread.fsbase | |
| NOSPEC | 0 | p->thread.gsbase | |
| MEM_ZERO | 0 | p->futex.exit_mutex.dep_map.key | |
| MEM_ZERO | 0 | p->futex.exit_mutex.dep_map.name | |
| MEM_ZERO | 0 | p->futex.exit_mutex.wait_lock.dep_map.key | |
| MEM_ZERO | 0 | p->futex.exit_mutex.wait_lock.dep_map.name | |
| MEM_ZERO | 0 | p->futex.exit_mutex.wait_lock.owner | |
| MEM_ZERO | 0 | p->futex.pi_state_list.next | |
| MEM_ZERO | 0 | p->futex.pi_state_list.prev | |
| MEM_ZERO | 0 | p->perf_recursion | |
| MEM_ZERO | 0 | p->thread.ptrace_bps | |
| MEM_ZERO | 0 | &p->dl.dl_timer | |
| MEM_ZERO | 0 | &p->dl.inactive_timer | |
| MEM_ZERO | 0 | &p->futex | |
| MEM_ZERO | 0 | &p->ioac | |
| MEM_ZERO | 0 | &p->irqtrace | |
| MEM_ZERO | 0 | &p->pending.signal | |
| MEM_ZERO | 0 | &p->posix_cputimers | |
| MEM_ZERO | 0 | &p->posix_cputimers_work.work | |
| MEM_ZERO | 0 | &p->sched_info | |
| MEM_ZERO | 0 | &p->se.avg | |
| MEM_ZERO | 0 | &p->stats | |
| MEM_ZERO | 0 | &p->unwind_info | |
| MEM_ZERO | 0 | &p->unwind_info.unwind_mask | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->exit_signal | 1-64[c] |
| USER_DATA | 0 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 0 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 0 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 0 | p->thread.gsbase | 0-s32max[c] |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |
kernel/fork.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p | $0 |
fs/pidfs.c pidfd_poll() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r pid_task |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &kvm->irq_srcu | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &vm->irqfds_lock | ||
| HALF_LOCKED2 | global &irqfds_srcu |
fs/pidfs.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PARAM_VALUE | 0 | p->exit_signal | 0-s32max |
| DATA_SOURCE | 0 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &kvm->irq_srcu | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &vm->irqfds_lock | ||
| HALF_LOCKED2 | global &irqfds_srcu |
kernel/tsacct.c bacct_add_tsk() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $3 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->signal->group_exit_code | 0,256-65280[c] |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->blkio_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->compact_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->freepages_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->irq_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->swapin_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->thrashing_delay | |
| NO_OVERFLOW_SIMPLE | 0 | p->delays->wpcopy_delay |
mm/oom_kill.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &oom_lock | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | 0 | &p->alloc_lock |
security/yama/yama_lsm.c ptracer_exception_found() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $1 |
| LOCK2 | rcu_read |
security/yama/yama_lsm.c task_is_descendant() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 1-u64max |
| DATA_SOURCE | 0 | p | $0 |
| UNITS | 0 | p | unit_byte |
| LOCK2 | rcu_read |
security/yama/yama_lsm.c task_is_descendant() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| UNITS | 0 | p | unit_byte |
| LOCK2 | rcu_read |
kernel/ptrace.c __ptrace_detach() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p->exit_code | 0-64 |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |
kernel/ptrace.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PARAM_VALUE | 0 | p->exit_signal | 0-s32max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p->exit_code | 0-64 |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq |
fs/binfmt_elf.c fill_prstatus() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/pid_namespace.c zap_pid_ns_processes() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p | r get_current |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &system_transition_mutex |
kernel/taskstats.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->signal->group_exit_code | 0,256-65280[c] |
| HALF_LOCKED2 | global &system_transition_mutex |
security/keys/keyctl.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $0 |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
kernel/cgroup/cpuset.c cpuset_update_tasks_nodemask() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r css_task_iter_next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &cpuset_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &cpuset_top_mutex |
kernel/cgroup/cgroup.c cgroup_procs_write_start() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| BIT_INFO | 0 | p->flags | 0x0,0xfbffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
kernel/cgroup/cgroup.c css_task_iter_advance() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &css_set_lock | ||
| LOCK2 | irqflags | ||
| HALF_LOCKED2 | &cgrp->pidlist_mutex | ||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &s->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | global &cpuset_mutex | ||
| HALF_LOCKED2 | global &freezer_mutex | ||
| HALF_LOCKED2 | global &oom_lock | ||
| HALF_LOCKED2 | global &sched_domains_mutex | ||
| HALF_LOCKED2 | rcu_read |
kernel/cgroup/cgroup.c do_cgroup_task_dead() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p->cgroups | 1 |
| CAPPED_DATA | 0 | &p->cg_list | 1 |
| DATA_SOURCE | 0 | p | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | p | unit_byte |
| LOCK2 | flags | ||
| LOCK2 | global &css_set_lock |
kernel/acct.c acct_collect() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | global &system_transition_mutex |
net/core/netclassid_cgroup.c update_classid_task() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
kernel/user_namespace.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p | $0 |
kernel/signal.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| BUF_SIZE | 0 | p | (-1),1-s32max |
| BUF_SIZE | 0 | p | (-1),1-s32max |
| BUF_SIZE | 0 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 0 | p->mempolicy | (-1),1-s32max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 0 | p->exit_code | 0-64,256-65280[c] |
| USER_DATA | 0 | p->exit_signal | 1-64[c] |
| USER_DATA | 0 | p->parent->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->ptrace | 65537,65545-33619953[c] |
| USER_DATA | 0 | p->real_parent->exit_code | 0,256-65280[c] |
| USER_DATA | 0 | p->signal->group_exit_code | 0,256-65280[c] |
| NO_OVERFLOW_SIMPLE | 0 | p->dl.pi_se->dl_runtime | |
| UNITS | 0 | p | unit_byte |
| HALF_LOCKED2 | global &tasklist_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &p->alloc_lock | |
| HALF_LOCKED2 | 0 | &p->sighand->siglock |
kernel/sys.c __do_sys_setpgid() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 1-u64max |
| DATA_SOURCE | 0 | p | r find_task_by_vpid |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
kernel/sys.c __do_sys_setpgid() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 1-u64max |
| DATA_SOURCE | 0 | p | r find_task_by_vpid |
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
kernel/bpf/task_iter.c task_seq_get_next() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r get_pid_task |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/compat_binfmt_elf.c fill_prstatus() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/exec.c de_thread() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | irq | ||
| LOCK2 | lock |
fs/exec.c de_thread() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 |
fs/exec.c de_thread() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PARAM_VALUE | 0 | p->exit_signal | 17 |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $0 |
fs/exec.c thread_group_empty() -> thread_group_leader()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | $0 |