Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/cgroup/cgroup.c cgroup_can_be_thread_root() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp 4096-ptr_max
BUF_SIZE 0 cgrp (-1),1-s32max
BUF_SIZE 0 cgrp (-1),1-s32max
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock

kernel/cgroup/cgroup.c cgroup_control() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp->self.parent (-1),392
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_destroy_locked() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 cgrp->kn 1
CAPPED_DATA 0 &cgrp->cset_links 1
CAPPED_DATA 0 &cgrp->self 1
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

kernel/cgroup/cgroup.c cgroup_enable_threaded() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c cgroup_enable_threaded() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c cgroup_is_thread_root() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
CAPPED_DATA 0 cgrp 1
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock

kernel/cgroup/cgroup.c cgroup_is_valid_domain() -> cgroup_is_threaded()

Type Parameter Key Value
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock

kernel/cgroup/cgroup.c cgroup_is_valid_domain() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_parent
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock

kernel/cgroup/cgroup.c cgroup_kill_write() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
DATA_SOURCE 0 cgrp r cgroup_kn_lock_live
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c cgroup_migrate_vet_dst() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp 4096-ptr_max
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp (-1),40,136,480,696,928,1128,1160,1392,1624,1848,8192
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 cgrp->dom_cgrp 1
CAPPED_DATA 0 cgrp->root 1
DATA_SOURCE 0 cgrp $0
PARAM_COMPARE 0 cgrp->dom_cgrp == $0->dom_cgrp->dom_cgrp
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_procs_start() -> cgroup_is_threaded()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 &s->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct seq_file)->lock

kernel/cgroup/cgroup.c cgroup_ss_mask() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
DATA_SOURCE 0 cgrp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &css_set_lock
HALF_LOCKED2 irq

kernel/cgroup/cgroup.c cgroup_type_show() -> cgroup_is_threaded()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
TYPE_LOCK (struct seq_file)->lock

kernel/cgroup/cgroup.c cgroup_vet_subtree_control_enable() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp 4096-ptr_max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 cgrp->dom_cgrp 1
DATA_SOURCE 0 cgrp $0
PARAM_COMPARE 0 cgrp->dom_cgrp == $0->dom_cgrp->dom_cgrp
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c cgroup_vet_subtree_control_enable() -> cgroup_is_threaded()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp 4096-ptr_max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 cgrp->dom_cgrp 1
DATA_SOURCE 0 cgrp $0
PARAM_COMPARE 0 cgrp->dom_cgrp == $0->dom_cgrp->dom_cgrp
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c css_update_populated() -> cgroup_is_threaded()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &css_set_lock
HALF_LOCKED2 irq

kernel/cgroup/cgroup.c find_css_set() -> cgroup_is_threaded()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cgroup_mutex