Defined in 2 files as a member:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

mm/damon/sysfs-common.c damon_sysfs_memcg_path_eq() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 16,4096-ptr_max
PARAM_VALUE 2 buflen 4096
BUF_SIZE 1 buf 1
DATA_SOURCE 1 buf $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-iocost.c adjust_inuse_and_calc_cost() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock

block/blk-iocost.c ioc_check_iocgs() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 &iocg->waitq.lock
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c ioc_forgive_debts() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 &iocg->waitq.lock
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c ioc_timer_fn() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock

block/blk-iocost.c iocg_activate() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
LOCK2 irq
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
TYPE_LOCK (struct ioc)->lock

block/blk-iocost.c transfer_surpluses() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 8650842648623427584
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 flags
LOCK2 global &trace_iocg_path_lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock

mm/vmscan.c lru_gen_seq_show() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 2 buflen 4096
BUF_SIZE 1 buf s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 buf unit_array_size
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

kernel/sched/build_utility.c task_group_path() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 3174942213647273984,3178144796558471168,4979318139916517376,5588107505665544192
PARAM_VALUE 2 buflen 125,4096
BUF_SIZE 1 buf 128,4096
BUF_SIZE 1 buf 128,4096
DATA_SOURCE 1 buf $1
DATA_SOURCE 2 buflen $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 buflen unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &m->lock
HALF_LOCKED2 global &sched_debug_lock

kernel/cgroup/cgroup.c cgroup_attach_task() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 0 cgrp (-1)-0,40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 0 cgrp (-1)-0,40,136,480,696,928,1128,1160,1392,1624,1848,8192
BUF_SIZE 1 buf 1024
DATA_SOURCE 0 cgrp $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &of->mutex

kernel/cgroup/cgroup.c cgroup_mkdir() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->ancestors 4096-ptr_max
PARAM_VALUE 0 cgrp->cset_links.next->next 4096-ptr_max
PARAM_VALUE 0 cgrp->cset_links.prev->next 4096-ptr_max
PARAM_VALUE 0 cgrp->cset_links.prev->prev 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->cset_links.next 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->cset_links.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->dom_cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->pidlist_mutex.magic 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->pidlists.next 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->pidlists.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->self.cgroup 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->self.children.next 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->self.children.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->self.flags 0,2-u32max
PARAM_VALUE 0 cgrp->dom_cgrp->self.sibling.next 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp->self.sibling.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->freezer.freeze_seq.lock 822956093654753280
PARAM_VALUE 0 cgrp->freezer.freeze_seq.seqcount.dep_map->name 0-255
PARAM_VALUE 0 cgrp->kn 0,4096-ptr_max
PARAM_VALUE 0 cgrp->kn->__parent 0
PARAM_VALUE 0 cgrp->kn->active.counter (-2147483647)
PARAM_VALUE 0 cgrp->offline_waitq.head.next->next 4096-ptr_max
PARAM_VALUE 0 cgrp->offline_waitq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 cgrp->offline_waitq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 cgrp->pidlist_mutex.dep_map->name 0-255
PARAM_VALUE 0 cgrp->pidlists.next->next 4096-ptr_max
PARAM_VALUE 0 cgrp->pidlists.prev->next 4096-ptr_max
PARAM_VALUE 0 cgrp->pidlists.prev->prev 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->cset_links.next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->cset_links.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->pidlist_mutex.magic 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->pidlists.next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->pidlists.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->self.cgroup 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->self.children.next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->self.children.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->self.sibling.next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.cgroup->self.sibling.prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.children.next->next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.children.prev->next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.children.prev->prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 0,8-u32max
PARAM_VALUE 0 cgrp->self.parent 4096-ptr_max
PARAM_VALUE 0 cgrp->self.parent->flags 2-u32max
PARAM_VALUE 0 cgrp->self.parent->refcnt.percpu_count_ptr 1-u64max
PARAM_VALUE 0 cgrp->self.refcnt.data->confirm_switch 0
PARAM_VALUE 0 cgrp->self.refcnt.data->count.counter s64min-(-9223372036854775807),0-s64max
PARAM_VALUE 0 cgrp->self.refcnt.data->ref 4096-ptr_max
PARAM_VALUE 0 cgrp->self.sibling.next->next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.sibling.prev->next 4096-ptr_max
PARAM_VALUE 0 cgrp->self.sibling.prev->prev 4096-ptr_max
PARAM_VALUE 0 cgrp->self.ss->css_rstat_flush 0,4093796338165313536,4446828206639517696
PARAM_VALUE 0 *cgrp->bpf.revisions 1
PARAM_VALUE 0 *cgrp->psi->avg_nr_triggers 0-4294967295
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 0 cgrp s32min-s32max
BUF_SIZE 1 buf 1024
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 &cgrp->self 1
DATA_SOURCE 0 cgrp r cgroup_create
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &dentry->d_lockref.lock

kernel/cgroup/cgroup.c cgroup_rmdir() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->dom_cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->kn 0,4096-ptr_max
PARAM_VALUE 0 cgrp->kn->__parent 0
PARAM_VALUE 0 cgrp->kn->dir.children.rb_node 0
PARAM_VALUE 0 cgrp->self.refcnt.data 0,4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.data->rcu.func 1-u64max
PARAM_VALUE 0 cgrp->self.refcnt.data->rcu.next 0
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
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
BUF_SIZE 1 buf 1024
CAPPED_DATA 0 cgrp->dom_cgrp 1
CAPPED_DATA 0 cgrp->kn 1
DATA_SOURCE 0 cgrp r cgroup_kn_lock_live
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

kernel/cgroup/cgroup.c css_release_work_fn() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.nr_populated_children 0
PARAM_VALUE 0 cgrp->self.nr_populated_csets 0
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &css_set_lock
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 irq

kernel/cgroup/cgroup-v1.c cgroup1_rename() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
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
BUF_SIZE 1 buf 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

kernel/cgroup/cgroup-v1.c cgroup_transfer_tasks() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 0-2991924345913806847,2991924345913806849-u64max
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
CAPPED_DATA 0 cgrp 1
DATA_SOURCE 0 cgrp $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &pool->lock

kernel/events/core.c perf_event_cgroup() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->kn 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 0,2-u32max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 buflen 4088
BUF_SIZE 1 buf 4096
BUF_SIZE 1 buf 4096
DATA_SOURCE 0 cgrp $0
DATA_SOURCE 1 buf r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 buflen unit_byte
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/freezer.c cgroup_do_freeze() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 2-u32max
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/freezer.c cgroup_do_freeze() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 2-u32max
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
DATA_SOURCE 0 cgrp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/freezer.c cgroup_freeze() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.flags 2-u32max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
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
BUF_SIZE 1 buf 1024
CAPPED_DATA 0 &cgrp->self 1
DATA_SOURCE 0 cgrp $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 cgrp->freezer.freeze 0-1
LOCK2 &of->mutex
LOCK2 flags
LOCK2 global &cgroup_mutex
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/freezer.c cgroup_update_frozen_flag() -> cgroup_path()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 1 buf 1205399080422420480
PARAM_VALUE 2 buflen 1024
BUF_SIZE 1 buf 1024
DATA_SOURCE 0 cgrp $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &css_set_lock
LOCK2 global &trace_cgroup_path_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 irq