Documented in 1 files:
Defined in 1 files as a function:
Referenced in 6 files:
- block/blk-mq.c, line 495
- include/linux/cgroup_refcnt.h, line 26
- include/linux/memcontrol.h, line 778
- include/linux/percpu-refcount.h, line 222
- io_uring/io_uring.c, line 986
- mm/memremap.c, line 247
Smatch caller information:
mm/memcontrol.c obj_cgroup_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| DATA_SOURCE | 1 | nr | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
block/blk-throttle.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &q->queue_lock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct request_queue)->queue_lock |
drivers/md/md.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sh->stripe_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
mm/percpu.c obj_cgroup_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 1 | nr | $1 |
| NOCHECK_CALL |
io_uring/msg_ring.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
lib/percpu-refcount.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | ref->percpu_count_ptr | |
| LOCK2 | global &percpu_ref_switch_lock | ||
| HALF_LOCKED2 | flags |
block/blk-mq.c __blk_mq_alloc_requests_batch() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 0-s32max,18446744071562067968-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
block/blk-mq.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/aio.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ctx->ring_lock |
drivers/scsi/scsi_lib.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
kernel/bpf/syscall.c obj_cgroup_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 1 | nr | $1 |
| NOCHECK_CALL |
mm/zswap.c obj_cgroup_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 1 | nr | $1 |
| NOCHECK_CALL |
mm/zswap.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL |
net/smc/smc_tx.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | sk |
drivers/pci/p2pdma.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &ipcp->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
drivers/infiniband/sw/rdmavt/mr.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &rkt->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
io_uring/zcrx.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | &ctx->uring_lock |
drivers/nvme/target/core.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/fs-writeback.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | &bdi->wb_switch_rwsem | ||
| HALF_LOCKED2 | &inode->i_lock | ||
| HALF_LOCKED2 | &old_wb->list_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &wb->list_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
io_uring/io_uring.c __io_alloc_req_refill() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1,8 |
| CAPPED_DATA | 1 | nr | 1 |
| BIT_INFO | 1 | nr | 0x0,0x9 |
| NOCHECK_CALL | |||
| UNITS | 1 | nr | unit_array_size |
| HALF_LOCKED2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
io_uring/io_uring.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->completion_lock | ||
| HALF_LOCKED2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->completion_lock |
kernel/bpf/memalloc.c obj_cgroup_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 1 | nr | $1 |
| NOCHECK_CALL |
net/smc/smc_cdc.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | sk |
drivers/infiniband/hw/hfi1/rc.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &qp->s_lock | ||
| LOCK2 | ps.flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct rvt_qp)->s_lock |
kernel/bpf/cgroup.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL |
block/blk-zoned.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &zwplug->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| TYPE_LOCK | (struct blk_zone_wplug)->lock |
kernel/cgroup/cgroup.c css_get_many() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| DATA_SOURCE | 1 | nr | $1 |
| NOCHECK_CALL |
kernel/cgroup/cgroup.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rcu_read |
drivers/infiniband/ulp/rtrs/rtrs-srv.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
block/blk-cgroup.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &blkcg->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &q->blkcg_mutex | ||
| HALF_LOCKED2 | &q->queue_lock | ||
| HALF_LOCKED2 | irq |
net/smc/smc_wr.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &lgr->sndbufs_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_client_lgr_pending | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending |
mm/memremap.c pagemap_range() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 4096-18446744073709547523 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mdevice->devmem_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &list_lock |
net/smc/smc_llc.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_core.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &pool->lock | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
kernel/bpf/trampoline.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL |
io_uring/tw.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
block/bfq-cgroup.c percpu_ref_get() -> percpu_ref_get_many()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | nr | 1 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | irq |