Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/exit.c __exit_signal() -> task_gtime()

Type Parameter Key Value
PARAM_VALUE 0 t 4096-ptr_max
CAPPED_DATA 0 t 1
DATA_SOURCE 0 t $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sig->stats_lock.lock
LOCK2 &sighand->siglock
LOCK2 global &tasklist_lock
LOCK2 irq
TYPE_LOCK (struct seqlock)->lock
TYPE_LOCK (struct sighand_struct)->siglock

kernel/exit.c wait_task_zombie() -> task_gtime()

Type Parameter Key Value
PARAM_VALUE 0 t 4096-ptr_max
CAPPED_DATA 0 t->parent->signal 1
CAPPED_DATA 0 t->real_parent->signal 1
DATA_SOURCE 0 t $1
PARAM_COMPARE 0 t->parent->signal == $0->real_parent->signal
RX_PATH
TASK_NOT_RUNNING
LOCK2 &psig->stats_lock.lock
LOCK2 irq
TYPE_LOCK (struct seqlock)->lock

fs/proc/array.c do_task_stat() -> task_gtime()

Type Parameter Key Value
PARAM_VALUE 0 t 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 &task->signal->exec_update_lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

fs/proc/array.c do_task_stat() -> task_gtime()

Type Parameter Key Value
PARAM_VALUE 0 t 4096-ptr_max
CAPPED_DATA 0 t 1
CAPPED_DATA 0 t->se.sum_exec_runtime 1
DATA_SOURCE 0 t $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 0 &t->signal->exec_update_lock
TYPE_LOCK (struct seq_file)->lock
TYPE_LOCK (struct signal_struct)->exec_update_lock