Documented in 1 files:
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_finish() -> cgroup_attach_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock_mode | 0-2 |
| PARAM_VALUE | 1 | tsk | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cg_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cg_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_dst_cset->mg_node.next | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_node.next | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_node.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_tasks.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_tasks.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->cgroups->mg_tasks.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type | 0-1 |
| CAPPED_DATA | 1 | tsk | 1 |
| DATA_SOURCE | 0 | lock_mode | $1 |
| DATA_SOURCE | 1 | tsk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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_procs_write_start() -> cgroup_attach_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock_mode | 0,2 |
| PARAM_VALUE | 1 | tsk | 4096-ptr_max |
| PARAM_VALUE | 1 | tsk->exit_signal | s32min-(-1) |
| PARAM_VALUE | 1 | tsk->group_leader->exit_signal | s32min-(-1) |
| PARAM_VALUE | 1 | tsk->no_cgroup_migration | 0 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 1 | tsk->signal->cgroup_threadgroup_rwsem.first_waiter->type | 0-1 |
| BIT_INFO | 0 | lock_mode | 0x0,0x2 |
| BIT_INFO | 1 | tsk->flags | 0x0,0xfbffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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_update_dfl_csses() -> cgroup_attach_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock_mode | 0-1 |
| PARAM_VALUE | 1 | tsk | 0 |
| FUZZY_MAX | 0 | lock_mode | 1 |
| HARD_MAX | 0 | lock_mode | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
kernel/cgroup/cgroup-v1.c cgroup_attach_task_all() -> cgroup_attach_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock_mode | 0 |
| PARAM_VALUE | 1 | tsk | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &cgroup_mutex |
kernel/cgroup/cgroup-v1.c cgroup_transfer_tasks() -> cgroup_attach_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock_mode | 0 |
| PARAM_VALUE | 1 | tsk | 0 |
| NOCHECK_CALL | |||
| LOCK2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | &pool->lock |