Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/cgroup/namespace.c copy_cgroup_ns() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
DATA_SOURCE 0 cset r task_css_set
NS_CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &tsk->signal->exec_update_lock

kernel/cgroup/namespace.c free_cgroup_ns() -> put_css_set()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
PARAM_VALUE 0 cset->dfl_cgrp 4096-ptr_max
DATA_SOURCE 0 cset r task_css_set
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cgroup_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
PARAM_VALUE 0 cset->dfl_cgrp 4096-ptr_max
DATA_SOURCE 0 cset r task_css_set
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 cset 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 cset 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/cgroup/cgroup.c cgroup_migrate_prepare_dst() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_cgrp 0
PARAM_VALUE 0 cset->mg_src_cgrp 0
CAPPED_DATA 0 cset 1
CAPPED_DATA 0 &cset->mg_src_preload_node 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_migrate_prepare_dst() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
BUF_SIZE 0 cset (-1),640
BUF_SIZE 0 cset (-1),640
CAPPED_DATA 0 cset 1
DATA_SOURCE 0 cset r find_css_set
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_migrate_prepare_dst() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
BUF_SIZE 0 cset (-1),640
BUF_SIZE 0 cset (-1),640
CAPPED_DATA 0 &cset->mg_dst_preload_node 1
DATA_SOURCE 0 cset r find_css_set
PARAM_COMPARE 0 &cset->mg_dst_preload_node != $0->mg_dst_preload_node.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_post_fork() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &css_set_lock
LOCK2 irq

kernel/cgroup/cgroup.c cgroup_post_fork() -> put_css_set()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/cgroup/cgroup.c cgroup_task_free() -> put_css_set()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/cgroup/cgroup.c css_task_iter_end() -> put_css_set()

Type Parameter Key Value
PARAM_VALUE 0 cset 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cgrp->pidlist_mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &s->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &cpuset_mutex
HALF_LOCKED2 global &freezer_mutex
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 global &sched_domains_mutex
HALF_LOCKED2 mutex
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 cset 4096-ptr_max
PARAM_VALUE 0 cset->cgrp_links.next 4096-ptr_max
PARAM_VALUE 0 cset->cgrp_links.next->next 4096-ptr_max
PARAM_VALUE 0 cset->cgrp_links.prev 4096-ptr_max
PARAM_VALUE 0 cset->cgrp_links.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->cgrp_links.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->dfl_cgrp 4096-ptr_max
PARAM_VALUE 0 cset->dfl_cgrp->dom_cgrp 4096-ptr_max
PARAM_VALUE 0 cset->dfl_cgrp->dom_cgrp->self.parent 1-u64max
PARAM_VALUE 0 cset->dom_cset 4096-ptr_max
PARAM_VALUE 0 cset->dom_cset->dom_cset 4096-ptr_max
PARAM_VALUE 0 cset->dying_tasks.next 4096-ptr_max
PARAM_VALUE 0 cset->dying_tasks.next->next 4096-ptr_max
PARAM_VALUE 0 cset->dying_tasks.prev 4096-ptr_max
PARAM_VALUE 0 cset->dying_tasks.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->dying_tasks.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->e_cset_node 4096-ptr_max
PARAM_VALUE 0 cset->hlist->pprev 4096-ptr_max
PARAM_VALUE 0 cset->hlist.pprev 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_preload_node.next 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_preload_node.next->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_preload_node.prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_preload_node.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_dst_preload_node.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_node.next 4096-ptr_max
PARAM_VALUE 0 cset->mg_node.next->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_node.prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_node.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_node.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_src_preload_node.next 4096-ptr_max
PARAM_VALUE 0 cset->mg_src_preload_node.next->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_src_preload_node.prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_src_preload_node.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_src_preload_node.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_tasks.next 4096-ptr_max
PARAM_VALUE 0 cset->mg_tasks.next->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_tasks.prev 4096-ptr_max
PARAM_VALUE 0 cset->mg_tasks.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->mg_tasks.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->refcount.refs.counter 1
PARAM_VALUE 0 cset->subsys 4096-ptr_max
PARAM_VALUE 0 cset->task_iters.next 4096-ptr_max
PARAM_VALUE 0 cset->task_iters.next->next 4096-ptr_max
PARAM_VALUE 0 cset->task_iters.prev 4096-ptr_max
PARAM_VALUE 0 cset->task_iters.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->task_iters.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->tasks.next 4096-ptr_max
PARAM_VALUE 0 cset->tasks.next->next 4096-ptr_max
PARAM_VALUE 0 cset->tasks.prev 4096-ptr_max
PARAM_VALUE 0 cset->tasks.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->tasks.prev->prev 4096-ptr_max
PARAM_VALUE 0 cset->threaded_csets.next 4096-ptr_max
PARAM_VALUE 0 cset->threaded_csets.next->next 4096-ptr_max
PARAM_VALUE 0 cset->threaded_csets.prev 4096-ptr_max
PARAM_VALUE 0 cset->threaded_csets.prev->next 4096-ptr_max
PARAM_VALUE 0 cset->threaded_csets.prev->prev 4096-ptr_max
BUF_SIZE 0 cset 640
BUF_SIZE 0 cset->dom_cset 640
CAPPED_DATA 0 cset->dfl_cgrp 1
CAPPED_DATA 0 cset->dfl_cgrp->dom_cgrp 1
DATA_SOURCE 0 cset r _kzalloc_noprof
PARAM_COMPARE 0 cset->dfl_cgrp != $0->dfl_cgrp->dom_cgrp
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cgroup_mutex