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 __cgroup_procs_write() -> task_cgroup_from_root()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
PARAM_VALUE 0 task->no_cgroup_migration 0
PARAM_VALUE 0 task->signal->cgroup_threadgroup_rwsem.dep_map->name 0-255
PARAM_VALUE 0 task->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 task->signal->cgroup_threadgroup_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 task->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 task->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 root 2991924345913806848
DATA_SOURCE 0 task r cgroup_procs_write_start
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 proc_cgroup_show() -> task_cgroup_from_root()

Type Parameter Key Value
PARAM_VALUE 0 task 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 0 task $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 global &css_set_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

kernel/cgroup/cgroup-v1.c cgroup_attach_task_all() -> task_cgroup_from_root()

Type Parameter Key Value
PARAM_VALUE 1 root 4096-ptr_max
DATA_SOURCE 0 task $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &cgroup_mutex
LOCK2 global &css_set_lock
LOCK2 irq

kernel/cgroup/cgroup-v1.c task_get_cgroup1() -> task_cgroup_from_root()

Type Parameter Key Value
PARAM_VALUE 1 root 4096-2991924345913806847,2991924345913806849-ptr_max
CAPPED_DATA 1 root->hierarchy_id 1
DATA_SOURCE 0 task $0
PREEMPT_ADD <- disables preempt
LOCK2 flags
LOCK2 global &css_set_lock
LOCK2 rcu_read