Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/cgroup/cgroup.c do_cgroup_task_dead() -> cgroup_update_frozen()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &css_set_lock

kernel/cgroup/freezer.c cgroup_do_freeze() -> cgroup_update_frozen()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 2-u32max
CAPPED_DATA 0 cgrp->freezer.nr_frozen_descendants 1
CAPPED_DATA 0 cgrp->nr_descendants 1
DATA_SOURCE 0 cgrp $0
PARAM_COMPARE 0 cgrp->freezer.nr_frozen_descendants == $0->nr_descendants
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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/freezer.c cgroup_enter_frozen() -> cgroup_update_frozen()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
DATA_SOURCE 0 cgrp r task_dfl_cgroup
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &css_set_lock
LOCK2 irq
HALF_LOCKED2 &sighand->siglock

kernel/cgroup/freezer.c cgroup_freezer_migrate_task() -> cgroup_update_frozen()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
DATA_SOURCE 0 cgrp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &css_set_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/freezer.c cgroup_freezer_migrate_task() -> cgroup_update_frozen()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
DATA_SOURCE 0 cgrp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &css_set_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/freezer.c cgroup_leave_frozen() -> cgroup_update_frozen()

Type Parameter Key Value
DATA_SOURCE 0 cgrp r task_dfl_cgroup
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &css_set_lock
LOCK2 irq