Documented in 1 files:
Defined in 1 files as a function:
Referenced in 22 files:
- block/blk-cgroup.h, line 322
- block/blk-mq.c, line 2908
- block/blk-zoned.c, line 1220
- drivers/infiniband/ulp/rtrs/rtrs-srv.c, line 170
- drivers/md/md.c
- drivers/nvme/target/core.c, line 461
- drivers/pci/p2pdma.c, line 165
- drivers/scsi/scsi_lib.c, line 702
- fs/aio.c
- include/linux/backing-dev-defs.h, line 239
- include/linux/cgroup.h, line 954
- include/linux/cgroup_refcnt.h, line 11
- include/rdma/rdmavt_mr.h, line 90
- io_uring/io_uring.c, line 2240
- io_uring/msg_ring.c, line 89
- io_uring/tw.c, line 93
- io_uring/zcrx.c
- kernel/bpf/trampoline.c, line 1440
- lib/percpu-refcount.c
- mm/zswap.c, line 426
- net/smc/smc_wr.c, line 380
- net/smc/smc_wr.h, line 64
Smatch caller information:
block/blk-throttle.c blkg_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| 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 md_account_bio() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/md/md.c md_handle_request() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &md->io_barrier |
drivers/md/md.c md_write_inc() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sh->stripe_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &bi->bi_bdev->bd_queue->queue_lock | ||
| TYPE_LOCK | (struct stripe_head)->stripe_lock |
drivers/md/md.c md_write_start() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &bi->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->io_barrier |
io_uring/msg_ring.c io_msg_remote_post() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
lib/percpu-refcount.c __percpu_ref_switch_to_atomic() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data->confirm_switch | 1-u64max |
| DATA_SOURCE | 0 | ref | $0 |
| BIT_INFO | 0 | ref->percpu_count_ptr | 0x1,0xffffffffffffffff |
| 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 | ||
| HALF_LOCKED2 | irq |
lib/percpu-refcount.c percpu_ref_resurrect() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| DATA_SOURCE | 0 | ref | $0 |
| BIT_INFO | 0 | ref->percpu_count_ptr | 0x0,0xfffffffffffffffd |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &percpu_ref_switch_lock | ||
| HALF_LOCKED2 | &dev->delayed_cmd_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mddev->suspend_mutex | ||
| HALF_LOCKED2 | &q->mq_freeze_lock | ||
| HALF_LOCKED2 | &wq->wq_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &swapon_mutex |
block/blk-mq.c blk_mq_dispatch_list() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/aio.c aio_get_req() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL |
fs/aio.c ioctx_alloc() -> percpu_ref_get()
| 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 |
| NOCHECK_CALL | |||
| LOCK2 | &ctx->ring_lock | ||
| TYPE_LOCK | (struct kioctx)->ring_lock |
fs/aio.c ioctx_alloc() -> percpu_ref_get()
| 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 |
| NOCHECK_CALL | |||
| LOCK2 | &ctx->ring_lock | ||
| TYPE_LOCK | (struct kioctx)->ring_lock |
drivers/scsi/scsi_lib.c scsi_end_request() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/zswap.c zswap_pool_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| NOCHECK_CALL |
net/smc/smc_tx.c smc_wr_tx_link_hold() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | sk |
drivers/pci/p2pdma.c p2pmem_alloc_mmap() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| 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 rvt_get_mr() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &rkt->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
io_uring/zcrx.c zcrx_send_notif() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| LOCK2 | bh |
io_uring/zcrx.c zcrx_set_ring_ctx() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPABLE | 0 | 12 | |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->uring_lock | ||
| LOCK2 | _T->lock | ||
| LOCK2 | bh | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
drivers/nvme/target/core.c nvmet_req_find_ns() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/fs-writeback.c wb_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| 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 | &wb->list_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
io_uring/io_uring.c io_activate_pollwq() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->completion_lock | ||
| HALF_LOCKED2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->completion_lock |
net/smc/smc_cdc.c smc_wr_tx_link_hold() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | sk |
drivers/infiniband/hw/hfi1/rc.c rvt_get_mr() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| 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 cgroup_bpf_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL |
block/blk-zoned.c disk_zone_wplug_add_bio() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| 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 cgroup_bpf_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | sk |
kernel/cgroup/cgroup.c css_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lo->lo_work_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &resv->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &cgwb_lock | ||
| HALF_LOCKED2 | global &css_set_lock | ||
| HALF_LOCKED2 | global &oom_lock | ||
| HALF_LOCKED2 | global &sched_domains_mutex | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
drivers/infiniband/ulp/rtrs/rtrs-srv.c rtrs_srv_get_ops_ids() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
block/blk-cgroup.c blkg_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| 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 smc_wr_reg_send() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 |
net/smc/smc_llc.c smc_wr_tx_link_hold() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 smc_wr_tx_link_hold() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
kernel/bpf/trampoline.c __bpf_tramp_enter() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL |
io_uring/tw.c tctx_task_work_run() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 blkg_get() -> percpu_ref_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | irq |