Defined in 1 files as a function:

Referenced in 13 files:

Smatch caller information:

mm/memcontrol.c mem_cgroup_get_from_id() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
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
CAPPED_DATA 0 cgrp->root 1
DATA_SOURCE 0 cgrp r cgroup_get_from_id
NOCHECK_CALL

kernel/bpf/bpf_cgrp_storage.c bpf_cgrp_storage_delete_elem() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->bpf_cgrp_storage 0,4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_v1v2_get_from_fd
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_cgrp_storage.c bpf_cgrp_storage_lookup_elem() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->bpf_cgrp_storage 0,4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_v1v2_get_from_fd
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_cgrp_storage.c bpf_cgrp_storage_update_elem() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 0-ptr_max
DATA_SOURCE 0 cgrp r cgroup_v1v2_get_from_fd
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/bpf/arraymap.c cgroup_fd_array_put_ptr() -> cgroup_put()

Type Parameter Key Value
BUF_SIZE 0 cgrp s32min-(-1),1-s32max
DATA_SOURCE 0 cgrp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

block/blk-cgroup-fc-appid.c blkcg_set_fc_appid() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
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
CAPPED_DATA 0 cgrp->root 1
DATA_SOURCE 0 cgrp r cgroup_get_from_id
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/bpf/cgroup_iter.c bpf_iter_detach_cgroup() -> cgroup_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/bpf/cgroup.c bpf_cgroup_link_auto_detach() -> cgroup_put()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &pool->lock

kernel/bpf/cgroup.c bpf_cgroup_link_release() -> cgroup_put()

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

kernel/bpf/cgroup.c cgroup_bpf_link_attach() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
PARAM_VALUE 0 *cgrp->bpf.flags 0-255
DATA_SOURCE 0 cgrp r cgroup_get_from_fd
NOCHECK_CALL

kernel/bpf/cgroup.c cgroup_bpf_prog_attach() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_get_from_fd
NOCHECK_CALL

kernel/bpf/cgroup.c cgroup_bpf_prog_attach() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
PARAM_VALUE 0 *cgrp->bpf.flags 0-3
DATA_SOURCE 0 cgrp r cgroup_get_from_fd
NOCHECK_CALL

kernel/bpf/cgroup.c cgroup_bpf_prog_detach() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_get_from_fd
NOCHECK_CALL

kernel/bpf/cgroup.c cgroup_bpf_prog_query() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
DATA_SOURCE 0 cgrp r cgroup_get_from_fd
NOCHECK_CALL

kernel/bpf/cgroup.c cgroup_bpf_release() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->bpf.effective 4096-ptr_max
PARAM_VALUE 0 cgrp->bpf.progs 4096-ptr_max
PARAM_VALUE 0 cgrp->bpf.refcnt.data 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 4096-ptr_max
CAPPED_DATA 0 cgrp 1
CAPPED_DATA 0 cgrp->root 1
DATA_SOURCE 0 cgrp r cgroup_get_from_file
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

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

kernel/cgroup/cgroup.c cgroup_do_get_tree() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->root->d_lockref.lock
HALF_LOCKED2 &fc->uapi_mutex

kernel/cgroup/cgroup.c cgroup_get_from_fd() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 0-2991924345913806847,2991924345913806849-u64max
DATA_SOURCE 0 cgrp r cgroup_v1v2_get_from_fd
NOCHECK_CALL

kernel/cgroup/cgroup.c cgroup_get_from_file() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->root 0-2991924345913806847,2991924345913806849-u64max
DATA_SOURCE 0 cgrp r cgroup_v1v2_get_from_file
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cgroup_mutex

kernel/cgroup/cgroup.c cgroup_get_from_id() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
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
DATA_SOURCE 0 cgrp r __cgroup_get_from_id
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex

kernel/cgroup/cgroup.c cgroup_kill_sb() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.children.next 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &cifs_mount_mutex

kernel/cgroup/cgroup.c cgroup_kn_unlock() -> cgroup_put()

Type Parameter Key Value
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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock

kernel/cgroup/cgroup.c cgroup_lock_and_drain_offline() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->offline_waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 cgrp->self.flags 2-u32max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &of->mutex

kernel/cgroup/cgroup.c cgroup_sk_free() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp->bpf.refcnt.data 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/cgroup/cgroup.c css_free_rwork_fn() -> cgroup_put()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/cgroup/cgroup.c css_free_rwork_fn() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/cgroup/cgroup.c put_css_set_locked() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.parent 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 global &css_set_lock
HALF_LOCKED2 irq
HALF_LOCKED2 irqflags

kernel/cgroup/cgroup-v1.c cgroup1_root_to_use() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
NS_CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex

kernel/cgroup/cgroup-v1.c cgroupstats_build() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/netfilter/xt_cgroup.c cgroup_mt_destroy_v1() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 1-u64max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/xt_cgroup.c cgroup_mt_destroy_v2() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 1-u64max
BUF_SIZE 0 cgrp 40,136,480,696,928,1128,1160,1392,1624,1848,8192
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/nft_socket.c nft_socket_cgroup_subtree_level() -> cgroup_put()

Type Parameter Key Value
PARAM_VALUE 0 cgrp 4096-ptr_max
PARAM_VALUE 0 cgrp->self.refcnt.percpu_count_ptr 1-u64max
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
DATA_SOURCE 0 cgrp r cgroup_get_from_path
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/bpf/helpers.c bpf_cgroup_release() -> cgroup_put()

Type Parameter Key Value
DATA_SOURCE 0 cgrp $0
NOCHECK_CALL

kernel/bpf/helpers.c bpf_cgroup_release_dtor() -> cgroup_put()

Type Parameter Key Value
DATA_SOURCE 0 cgrp $0
NOCHECK_CALL