Defined in 2 files as a function:
- include/linux/sched/signal.h, line 727 (as a function)
- tools/perf/util/unwind-libdw.c, line 177 (as a function)
Referenced in 4 files:
- include/linux/sched/signal.h
- kernel/exit.c, line 188
- kernel/signal.c, line 969
- tools/perf/util/unwind-libdw.c
Smatch caller information:
kernel/exit.c __do_wait() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &tasklist_lock |
kernel/exit.c __exit_signal() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PARAM_VALUE | 0 | p->signal | 4096-ptr_max |
| CAPPED_DATA | 0 | p | 1 |
| DATA_SOURCE | 0 | p | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sighand->siglock | ||
| LOCK2 | global &tasklist_lock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/cgroup/cgroup.c cgroup_attach_task() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | p->cgroups | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &cgroup_mutex | ||
| LOCK2 | global &css_set_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
kernel/cgroup/cgroup.c cgroup_migrate() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &cgroup_mutex | ||
| LOCK2 | global &css_set_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &of->mutex |
kernel/signal.c complete_signal() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
kernel/signal.c do_signal_stop() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sighand->siglock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/signal.c do_signal_stop() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p | r next_thread |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sighand->siglock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/signal.c retarget_shared_pending() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tsk->sighand->siglock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/signal.c retarget_shared_pending() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r next_thread |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tsk->sighand->siglock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/signal.c zap_other_threads() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &sighand->siglock | ||
| HALF_LOCKED2 | lock |
kernel/signal.c zap_other_threads() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r next_thread |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &sighand->siglock | ||
| HALF_LOCKED2 | lock |
fs/exec.c check_unsafe_exec() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &p->fs->seq.lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seqlock)->lock |
fs/exec.c check_unsafe_exec() -> next_thread()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | p | r next_thread |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &p->fs->seq.lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seqlock)->lock |