Documented in 1 files:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/cgroup/cgroup.c cgroup_css_set_fork() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_css_set_put_fork() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/signal.c exit_signals() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
PARAM_VALUE 0 tsk 4096-ptr_max
PARAM_VALUE 0 tsk->flags 0,4-u32max
PARAM_VALUE 0 tsk->kcov 0,4096-ptr_max
PARAM_VALUE 0 tsk->kcov->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->sighand 4096-ptr_max
PARAM_VALUE 0 tsk->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal 4096-ptr_max
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.owner (-1)
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.owner_cpu u32max
PARAM_VALUE 0 tsk->signal->flags 4
PARAM_VALUE 0 tsk->signal->group_stop_count 0
PARAM_VALUE 0 tsk->user_event_mm 0
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tsk->user_event_mm->put_rwork.rcu.next 0
CAPPED_DATA 0 tsk 1
DATA_SOURCE 0 tsk $0
BIT_INFO 0 tsk->flags 0x4,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tsk->signal->group_exit_code 0,256-65280[c]
HALF_LOCKED2 global &system_transition_mutex

kernel/signal.c exit_signals() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
PARAM_VALUE 0 tsk 4096-ptr_max
PARAM_VALUE 0 tsk->flags 0,4-u32max
PARAM_VALUE 0 tsk->kcov 0,4096-ptr_max
PARAM_VALUE 0 tsk->kcov->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->sighand 4096-ptr_max
PARAM_VALUE 0 tsk->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal 4096-ptr_max
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.owner (-1)
PARAM_VALUE 0 tsk->signal->core_state->startup.wait.lock.owner_cpu u32max
PARAM_VALUE 0 tsk->signal->flags 4
PARAM_VALUE 0 tsk->signal->group_stop_count 0
PARAM_VALUE 0 tsk->user_event_mm 0
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 tsk->user_event_mm->mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tsk->user_event_mm->put_rwork.rcu.next 0
CAPPED_DATA 0 tsk 1
DATA_SOURCE 0 tsk $0
BIT_INFO 0 tsk->flags 0x4,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tsk->signal->group_exit_code 0,256-65280[c]
LOCK2 irq
LOCK2 0 &tsk->sighand->siglock
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct sighand_struct)->siglock

fs/exec.c de_thread() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
PARAM_VALUE 0 tsk 4096-ptr_max
PARAM_VALUE 0 tsk->exit_signal s32min-(-1)
PARAM_VALUE 0 tsk->group_leader->exit_state 0
PARAM_VALUE 0 tsk->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tsk->signal->group_exec_task 4096-ptr_max
PARAM_VALUE 0 tsk->signal->group_exec_task->signal 4096-ptr_max
PARAM_VALUE 0 tsk->signal->group_stop_count 0
CAPPED_DATA 0 tsk 1
DATA_SOURCE 0 tsk $0
HARD_MAX 0 tsk->exit_signal (-1)
NOCHECK_CALL

fs/exec.c de_thread() -> cgroup_threadgroup_change_end()

Type Parameter Key Value
PARAM_VALUE 0 tsk 4096-ptr_max
PARAM_VALUE 0 tsk->exit_signal 17
PARAM_VALUE 0 tsk->group_leader 4096-ptr_max
PARAM_VALUE 0 tsk->group_leader->exit_signal s32min-(-1)
PARAM_VALUE 0 tsk->group_leader->group_leader 4096-ptr_max
PARAM_VALUE 0 tsk->group_leader->sibling.next 4096-ptr_max
PARAM_VALUE 0 tsk->group_leader->sibling.prev 4096-ptr_max
PARAM_VALUE 0 tsk->group_leader->tasks.next 4096-ptr_max
PARAM_VALUE 0 tsk->sibling.next 4096-ptr_max
PARAM_VALUE 0 tsk->sibling.next->prev 4096-ptr_max
PARAM_VALUE 0 tsk->sibling.prev 4096-ptr_max
PARAM_VALUE 0 tsk->sibling.prev->next 4096-ptr_max
PARAM_VALUE 0 tsk->sibling.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tsk->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tsk->signal->group_exec_task 4096-ptr_max
PARAM_VALUE 0 tsk->signal->group_exec_task->signal 4096-ptr_max
PARAM_VALUE 0 tsk->signal->group_stop_count 0
PARAM_VALUE 0 tsk->tasks.next 4096-ptr_max
PARAM_VALUE 0 tsk->tasks.next->prev 4096-ptr_max
CAPPED_DATA 0 tsk 1
CAPPED_DATA 0 tsk->signal 1
DATA_SOURCE 0 tsk $0
NOCHECK_CALL