Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 27 files:
- block/blk-cgroup.c, line 313
- block/blk-core.c, line 490
- drivers/dma/idxd/device.c, line 418
- drivers/infiniband/sw/rdmavt/mr.c, line 110
- drivers/infiniband/ulp/rtrs/rtrs-srv.c, line 153
- drivers/md/md-llbitmap.c, line 642
- drivers/md/md.c
- drivers/nvme/target/core.c
- drivers/nvme/target/pr.c, line 1020
- drivers/target/target_core_device.c, line 745
- drivers/target/target_core_tpg.c, line 660
- drivers/target/target_core_transport.c, line 244
- fs/aio.c
- fs/nfsd/nfssvc.c, line 612
- io_uring/io_uring.c, line 248
- kernel/bpf/cgroup.c, line 537
- kernel/bpf/trampoline.c, line 682
- kernel/cgroup/cgroup.c
- lib/percpu-refcount.c, line 106
- mm/backing-dev.c, line 703
- mm/memcontrol.c, line 205
- mm/memremap.c, line 325
- mm/swapfile.c, line 3357
- mm/zswap.c, line 319
- net/core/devmem.c, line 226
- net/smc/smc_wr.c
- tools/testing/nvdimm/test/iomap.c, line 125
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 |