Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 27 files:

Smatch caller information:

mm/memcontrol.c obj_cgroup_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cgroup_mutex

drivers/md/md-llbitmap.c llbitmap_cache_pages() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 136,4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mddev->bitmap_info.mutex
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct mddev)->bitmap_info.mutex

net/core/devmem.c net_devmem_bind_dmabuf() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
LOCK2 &priv->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
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_nl_sock)->lock

drivers/md/md.c mddev_init() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &disks_mutex

drivers/md/md.c mddev_init() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &disks_mutex

mm/swapfile.c alloc_swap_info() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 16,4096-ptr_max
PARAM_VALUE 2 flags 2
PARAM_VALUE 3 gfp 3264

mm/backing-dev.c cgwb_create() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0
PARAM_VALUE 0 ref->percpu_count_ptr 0
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 2080,3264
DATA_SOURCE 3 gfp $2
HARD_MAX 3 gfp 3264
MEM_ZERO 0 ref
RX_PATH
TASK_NOT_RUNNING

fs/aio.c ioctx_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
LOCK2 &ctx->ring_lock
TYPE_LOCK (struct kioctx)->ring_lock

fs/aio.c ioctx_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
LOCK2 &ctx->ring_lock
TYPE_LOCK (struct kioctx)->ring_lock

mm/zswap.c zswap_pool_create() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING

fs/nfsd/nfssvc.c nfsd_create_serv() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &nfsd_mutex

drivers/infiniband/sw/rdmavt/mr.c rvt_init_mregion() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 1 release 1418036323580489728
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 2 flags $3
RX_PATH
TASK_NOT_RUNNING

drivers/dma/idxd/device.c idxd_wq_init_percpu_ref() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
MEM_ZERO 0 ref
RX_PATH
TASK_NOT_RUNNING
LOCK2 &wq->wq_lock
TYPE_LOCK (struct idxd_wq)->wq_lock

drivers/nvme/target/core.c nvmet_ns_enable() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
LOCK2 &subsys->lock
LOCK2 global &nvmet_config_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem
TYPE_LOCK (struct nvmet_subsys)->lock

drivers/nvme/target/core.c nvmet_sq_init() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/nvdimm/../../tools/testing/nvdimm/test/iomap.c __wrap_devm_memremap_pages() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264

io_uring/io_uring.c io_ring_ctx_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264

drivers/nvme/target/pr.c nvmet_pr_alloc_and_insert_pc_ref() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 &subsys->lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &nvmet_config_sem
TYPE_LOCK (struct nvmet_subsys)->lock

block/blk-core.c blk_alloc_queue() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 1
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING

kernel/bpf/cgroup.c cgroup_bpf_inherit() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264

kernel/cgroup/cgroup.c cgroup_create() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

kernel/cgroup/cgroup.c cgroup_setup_root() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cgroup_mutex

kernel/cgroup/cgroup.c css_create() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0
PARAM_VALUE 0 ref->percpu_count_ptr 0
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
MEM_ZERO 0 ref
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cgroup_mutex

drivers/target/target_core_tpg.c core_tpg_add_lun() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &subsys->su_mutex

drivers/infiniband/ulp/rtrs/rtrs-srv.c rtrs_srv_alloc_ops_ids() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
LOCK2 &srv->paths_mutex
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex
TYPE_LOCK (struct rtrs_srv_sess)->paths_mutex

block/blk-cgroup.c blkg_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3072,3264,10240
DATA_SOURCE 3 gfp $2
HARD_MAX 3 gfp 10240
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &q->blkcg_mutex
HALF_LOCKED2 &q->queue_lock
HALF_LOCKED2 irq

drivers/target/target_core_transport.c target_alloc_cmd_counter() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING

net/smc/smc_wr.c smc_wr_create_link() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/smc/smc_wr.c smc_wr_create_link() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

mm/memremap.c memremap_pages() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mdevice->devmem_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &list_lock

drivers/target/target_core_device.c target_alloc_device() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hba->hba_access_mutex
HALF_LOCKED2 &subsys->su_mutex

kernel/bpf/trampoline.c bpf_tramp_image_alloc() -> percpu_ref_init()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 2 flags 0
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &direct_mutex