Defined in 1 files as a prototype:
Defined in 2 files as a function:
- include/linux/cgroup.h, line 798 (as a function)
- include/linux/cgroup_refcnt.h, line 8 (as a function)
Referenced in 14 files:
- drivers/block/loop.c, line 847
- fs/btrfs/inode.c, line 1634
- include/linux/cgroup.h, line 467
- include/linux/cgroup_refcnt.h, line 13
- include/linux/hugetlb_cgroup.h, line 117
- kernel/bpf/cgroup_iter.c, line 178
- kernel/cgroup/cgroup.c
- kernel/cgroup/cpuset.c, line 998
- kernel/cgroup/dmem.c, line 742
- kernel/kthread.c, line 1716
- mm/backing-dev.c
- mm/hugetlb.c
- mm/memcontrol-v1.c, line 1455
- mm/memcontrol.c
Smatch caller information:
mm/memcontrol.c get_mem_cgroup_from_mm() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &encl->lock | ||
| HALF_LOCKED2 | rcu_read |
mm/memcontrol.c mem_cgroup_css_online() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| PARAM_VALUE | 0 | css->cgroup | 4096-ptr_max |
| PARAM_VALUE | 0 | css->cgroup->self.flags | 0,2-u32max |
| PARAM_VALUE | 0 | css->cgroup->self.refcnt.percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 0 | css->children.next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->children.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->children.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | css->children.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->children.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | css->destroy_rwork.rcu.func | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.rcu.next | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.work.data.counter | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.work.entry.next | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.work.entry.prev | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.work.func | 0 |
| PARAM_VALUE | 0 | css->destroy_rwork.wq | 0 |
| PARAM_VALUE | 0 | css->destroy_work.data.counter | 0 |
| PARAM_VALUE | 0 | css->destroy_work.entry.next | 0 |
| PARAM_VALUE | 0 | css->destroy_work.entry.prev | 0 |
| PARAM_VALUE | 0 | css->destroy_work.func | 0 |
| PARAM_VALUE | 0 | css->flags | 0-1 |
| PARAM_VALUE | 0 | css->id | 0-s32max |
| PARAM_VALUE | 0 | css->kill_finish_work.func | 0 |
| PARAM_VALUE | 0 | css->nr_descendants | 0 |
| PARAM_VALUE | 0 | css->nr_populated_children | 0 |
| PARAM_VALUE | 0 | css->nr_populated_csets | 0 |
| PARAM_VALUE | 0 | css->online_cnt.counter | 0 |
| PARAM_VALUE | 0 | css->parent->refcnt.percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 0 | css->refcnt.data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->refcnt.data->confirm_switch | 0 |
| PARAM_VALUE | 0 | css->refcnt.data->count.counter | s64min-(-9223372036854775807),0-s64max |
| PARAM_VALUE | 0 | css->refcnt.data->ref | 4096-ptr_max |
| PARAM_VALUE | 0 | css->refcnt.percpu_count_ptr | 0,4096-18446744073709547523 |
| PARAM_VALUE | 0 | css->rstat_cpu | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->rstat_flush_next | 0 |
| PARAM_VALUE | 0 | css->sibling.next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->sibling.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->sibling.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | css->sibling.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | css->ss | 4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->attach | 0,2246200204970172416,2360154984384167936,3019800169015222272,5185209237867978752,6679637330912739328,6722154200619556864,8437287443062427648 |
| PARAM_VALUE | 0 | css->ss->bind | 0,5398039129788481536 |
| PARAM_VALUE | 0 | css->ss->can_attach | 0,1539697653209010176,2596895394050748416,3636412751287525376 |
| PARAM_VALUE | 0 | css->ss->can_fork | 0,5638613885127380992,6961295853237211136 |
| PARAM_VALUE | 0 | css->ss->cancel_attach | 0,1511532066655358976,4508251095385354240,4853635904863272960 |
| PARAM_VALUE | 0 | css->ss->cancel_fork | 0,5691029669975453696,7415222397819719680 |
| PARAM_VALUE | 0 | css->ss->css_alloc | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->css_extra_stat_show | 0,3458187449253036032 |
| PARAM_VALUE | 0 | css->ss->css_free | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->css_killed | 0,8358574337692954624 |
| PARAM_VALUE | 0 | css->ss->css_local_stat_show | 0,3145639222211608576 |
| PARAM_VALUE | 0 | css->ss->css_offline | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->css_online | 4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->css_released | 0,4856339823753781248,9148075606814478336 |
| PARAM_VALUE | 0 | css->ss->css_reset | 0,7327419871178485760 |
| PARAM_VALUE | 0 | css->ss->css_rstat_flush | 0,4093796338165313536,4446828206639517696 |
| PARAM_VALUE | 0 | css->ss->depends_on | 0,16 |
| PARAM_VALUE | 0 | css->ss->dfl_cftypes | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->exit | 0,7702225149594865664,8372473530682335232 |
| PARAM_VALUE | 0 | css->ss->fork | 0,4540472734013444096,7578242414286561280,8835910921598877696 |
| PARAM_VALUE | 0 | css->ss->id | 0-15 |
| PARAM_VALUE | 0 | css->ss->legacy_cftypes | 0,4096-ptr_max |
| PARAM_VALUE | 0 | css->ss->release | 0,1980470231377797120 |
| BUF_SIZE | 0 | css | 392 |
| CAPPED_DATA | 0 | css | 1 |
| CAPPED_DATA | 0 | css->id | 1 |
| DATA_SOURCE | 0 | css | $0 |
| HARD_MAX | 0 | css->flags | 1 |
| MEM_ZERO | 0 | css | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
mm/memcontrol.c mem_cgroup_get_oom_group() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &oom_lock | ||
| LOCK2 | rcu_read |
mm/memcontrol.c mem_cgroup_sk_inherit() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | newsk | ||
| HALF_LOCKED2 | sk |
mm/memcontrol.c refill_stock() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/kthread.c kthread_associate_blkcg() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| DATA_SOURCE | 0 | css | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
mm/backing-dev.c cgwb_create() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| PARAM_VALUE | 0 | css->parent | 1-u64max |
| BUF_SIZE | 0 | css | (-1),392 |
| BUF_SIZE | 0 | css | (-1),392 |
| CAPPED_DATA | 0 | css->id | 1 |
| DATA_SOURCE | 0 | css | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &cgwb_lock |
mm/backing-dev.c cgwb_create() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| CAPPED_DATA | 0 | css | 1 |
| DATA_SOURCE | 0 | css | r cgroup_get_e_css |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &cgwb_lock |
fs/btrfs/inode.c run_delalloc_compressed() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mapping->invalidate_lock |
mm/hugetlb.c copy_hugetlb_cgroup_uncharge_info() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &resv->lock | ||
| TYPE_LOCK | (struct resv_map)->lock |
mm/hugetlb.c record_hugetlb_cgroup_uncharge_info() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &resv->lock | ||
| TYPE_LOCK | (struct resv_map)->lock |
mm/hugetlb.c resv_map_dup_hugetlb_cgroup_uncharge_info() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->attach_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
drivers/block/loop.c loop_queue_work() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| BUF_SIZE | 0 | css | (-1)-0,392 |
| BUF_SIZE | 0 | css | (-1)-0,392 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &lo->lo_work_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct loop_device)->lo_work_lock |
kernel/bpf/cgroup_iter.c cgroup_iter_seq_init() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | css | 392 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/cgroup/dmem.c dmem_cgroup_try_charge() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
kernel/cgroup/cpuset.c dl_rebuild_rd_accounting() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 2371988510885339136 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &sched_domains_mutex | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | global &cpuset_mutex |
kernel/bpf/cgroup.c cgroup_get() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| NOCHECK_CALL |
kernel/cgroup/cgroup.c cgroup_get() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rcu_read |
kernel/cgroup/cgroup.c cgroup_get_e_css() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &of->mutex |
kernel/cgroup/cgroup.c css_update_populated() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| PARAM_VALUE | 0 | css->flags | 16-u32max |
| PARAM_VALUE | 0 | css->nr_populated_children | 0 |
| PARAM_VALUE | 0 | css->nr_populated_csets | 0 |
| DATA_SOURCE | 0 | css | $0 [m] |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &css_set_lock | ||
| HALF_LOCKED2 | irq |
kernel/cgroup/cgroup.c find_css_set() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| PARAM_VALUE | 0 | css->cgroup->e_csets | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &css_set_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/cgroup/cgroup.c init_and_link_css() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | css | r cgroup_css |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/cgroup/cgroup.c kill_css_finish() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| BUF_SIZE | 0 | css | (-1),392 |
| BUF_SIZE | 0 | css | (-1),392 |
| DATA_SOURCE | 0 | css | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
mm/memcontrol-v1.c memcg1_oom_prepare() -> css_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | css | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |