Defined in 1 files as a prototype:

Referenced in 10 files:

Smatch caller information:

mm/bpf_memcontrol.c bpf_get_mem_cgroup() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
DATA_SOURCE 0 css $0 [m]
HALF_LOCKED2 rcu_read

mm/memcontrol.c get_mem_cgroup_from_current() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 &state.ctx->map_changing_lock

mm/memcontrol.c get_mem_cgroup_from_folio() -> css_tryget()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

mm/memcontrol.c get_mem_cgroup_from_mm() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &encl->lock
HALF_LOCKED2 &encl->srcu

mm/memcontrol.c get_mem_cgroup_from_objcg() -> css_tryget()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

mm/memcontrol.c mem_cgroup_iter() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 4096-ptr_max
DATA_SOURCE 0 css r css_next_descendant_pre
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &state_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &memcg_oom_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 global &zswap_shrink_lock

mm/memcontrol.c mem_cgroup_sk_alloc() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk
HALF_LOCKED2 sk

mm/page-writeback.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

mm/page_io.c bio_associate_blkg_from_page() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
DATA_SOURCE 0 css r folio_memcg_blkg_css
RX_PATH
LOCK2 rcu_read

kernel/bpf/syscall.c get_mem_cgroup_from_objcg() -> css_tryget()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 flags

mm/zswap.c get_mem_cgroup_from_objcg() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

arch/x86/kvm/svm/sev.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
LOCK2 rcu_read
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &source_kvm->lock
HALF_LOCKED2 _T->lock

fs/fs-writeback.c cgroup_writeback_by_id() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
DATA_SOURCE 0 css r css_from_id
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

fs/fs-writeback.c inode_switch_wbs() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
DATA_SOURCE 0 css r css_from_id
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

fs/fs-writeback.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_lock

kernel/cgroup/rdma.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
LOCK2 rcu_read
HALF_LOCKED2 &file->hw_destroy_rwsem
HALF_LOCKED2 &file->ucontext_lock
HALF_LOCKED2 &ufile->hw_destroy_rwsem
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem

mm/workingset.c mem_cgroup_tryget() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-1025,1027-1029,1031-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

mm/list_lru.c mem_cgroup_tryget() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-1025,1027-1029,1031-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &nfsd_gc_lock
HALF_LOCKED2 global &pool_shrink_rwsem

mm/vmscan.c mem_cgroup_tryget() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

kernel/bpf/memalloc.c get_mem_cgroup_from_objcg() -> css_tryget()

Type Parameter Key Value
LOCK2 rcu_read

kernel/cgroup/dmem.c dmem_cgroup_get_common_ancestor() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r cgroup_e_css
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

kernel/cgroup/dmem.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 bo->base.resv

mm/hugetlb_cgroup.c __hugetlb_cgroup_charge_cgroup() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

kernel/cgroup/cgroup.c cgroup_tryget() -> css_tryget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/cgroup/cgroup-v1.c cgroup_tryget() -> css_tryget()

Type Parameter Key Value
PARAM_VALUE 0 css 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &css_set_lock

arch/x86/kvm/vmx/tdx.c task_get_css() -> css_tryget()

Type Parameter Key Value
DATA_SOURCE 0 css r task_css
LOCK2 &kvm->lock
LOCK2 &kvm->slots_lock
LOCK2 rcu_read
TYPE_LOCK (struct kvm)->lock
TYPE_LOCK (struct kvm)->slots_lock

mm/memcontrol-v1.c __mem_cgroup_largest_soft_limit_node() -> css_tryget()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mctz->lock
LOCK2 irq
TYPE_LOCK (struct mem_cgroup_tree_per_node)->lock

kernel/bpf/helpers.c cgroup_tryget() -> css_tryget()

Type Parameter Key Value