Defined in 2 files as a function:
- include/linux/sched/task_stack.h, line 68 (as a function)
- include/linux/sched/task_stack.h, line 76 (as a function)
Referenced in 14 files:
- arch/arm64/kernel/process.c, line 803
- arch/arm64/kernel/stacktrace.c, line 488
- arch/loongarch/kernel/process.c, line 245
- arch/loongarch/kernel/traps.c, line 113
- arch/openrisc/kernel/stacktrace.c, line 72
- arch/riscv/kernel/stacktrace.c, line 172
- arch/s390/kernel/process.c, line 206
- arch/x86/kernel/process.c, line 1046
- fs/proc/array.c, line 507
- kernel/bpf/stackmap.c, line 891
- kernel/sched/core.c, line 8170
- kernel/stacktrace.c
- lib/syscall.c, line 13
- mm/kmemleak.c, line 1749
Smatch caller information:
lib/syscall.c collect_syscall() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->alloc_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | tsk | 1 |
| DATA_SOURCE | 0 | tsk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| LOCK2 | 0 | &tsk->signal->exec_update_lock | |
| TYPE_LOCK | (struct seq_file)->lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |
kernel/bpf/stackmap.c __bpf_get_task_stack() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | tsk | $0 |
fs/proc/array.c do_task_stat() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->alloc_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->flags | 4-u32max |
| PARAM_VALUE | 0 | tsk->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->signal | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.owner_cpu | u32max |
| DATA_SOURCE | 0 | tsk | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| LOCK2 | 0 | &tsk->signal->exec_update_lock | |
| TYPE_LOCK | (struct seq_file)->lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock |
arch/x86/kernel/process.c __get_wchan() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->__state | 1-511,513-u32max |
| PARAM_VALUE | 0 | tsk->alloc_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->on_rq | 0 |
| PARAM_VALUE | 0 | tsk->pi_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->pi_lock.owner_cpu | 0 |
| PARAM_VALUE | 0 | tsk->pi_lock.raw_lock.val.counter | 0-s32max |
| PARAM_VALUE | 0 | tsk->signal | 4096-ptr_max |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.wait_lock.raw_lock.val.counter | 0-s32max |
| DATA_SOURCE | 0 | tsk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| LOCK2 | irq | ||
| LOCK2 | 0 | &tsk->pi_lock | |
| LOCK2 | 0 | &tsk->signal->exec_update_lock | |
| TYPE_LOCK | (struct seq_file)->lock | ||
| TYPE_LOCK | (struct signal_struct)->exec_update_lock | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/stacktrace.c stack_trace_save_tsk() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk | 1-u64max |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tsk->signal->exec_update_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | tsk | 1 |
| DATA_SOURCE | 0 | tsk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | 0 | &tsk->signal->exec_update_lock |
kernel/stacktrace.c stack_trace_save_tsk_reliable() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | tsk | $0 |
mm/kmemleak.c kmemleak_scan_task_stacks() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk | 4096-ptr_max |
| DATA_SOURCE | 0 | tsk | r pid_task |
| LOCK2 | global &scan_mutex |
kernel/sched/core.c sched_show_task() -> try_get_task_stack()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tsk->signal->oom_mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tsk->signal->oom_mm->mmap_lock.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | tsk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | tsk | unit_byte |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rnp->lock | ||
| HALF_LOCKED2 | &rtp->tasks_gp_mutex | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &system_transition_mutex | ||
| HALF_LOCKED2 | global &tasklist_lock | ||
| HALF_LOCKED2 | irq_flags | ||
| HALF_LOCKED2 | rcu_read |