Documented in 1 files:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

mm/memcontrol.c obj_cgroup_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

mm/page-writeback.c wb_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

net/core/devmem.c net_devmem_dmabuf_binding_get() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

block/blk-mq.c blk_mq_hctx_notify_offline() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max

block/blk-mq.c blk_mq_timeout_work() -> percpu_ref_tryget()

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

block/blk-mq.c blk_rq_poll() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ctx->uring_lock
HALF_LOCKED2 &sqd->lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

mm/backing-dev.c wb_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 global &cgwb_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/zswap.c zswap_pool_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 global &zswap_pools_lock
HALF_LOCKED2 rcu_read

fs/fs-writeback.c wb_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &bdi->wb_switch_rwsem
HALF_LOCKED2 &sb->s_umount

block/blk-core.c bio_poll() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 rcu_read

kernel/cgroup/cgroup.c css_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 &mctz->lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

block/blk-cgroup.c blkg_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

block/blk-iolatency.c blkg_tryget() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/block/nbd.c recv_work() -> percpu_ref_tryget()

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

block/blk-mq-tag.c blk_mq_queue_tag_busy_iter() -> percpu_ref_tryget()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &of->mutex