Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/md/md-llbitmap.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

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

drivers/md/md.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &md->io_barrier

mm/swapfile.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
DATA_SOURCE 0 ref $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

block/blk-mq.c blk_try_enter_queue() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &pool->lock

fs/aio.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
LOCK2 rcu_read

fs/nfsd/nfssvc.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

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

drivers/pci/p2pdma.c p2pmem_alloc_mmap() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 rcu_read
HALF_LOCKED2 &ipcp->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/pci/p2pdma.c pci_alloc_p2pmem() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/nvme/target/core.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

drivers/dma/idxd/submit.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

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

drivers/target/target_core_alua.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tg_pt_gp->tg_pt_gp_lock
LOCK2 &tg_pt_gp->tg_pt_gp_transition_mutex
LOCK2 rcu_read
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct t10_alua_tg_pt_gp)->tg_pt_gp_lock
TYPE_LOCK (struct t10_alua_tg_pt_gp)->tg_pt_gp_transition_mutex

drivers/nvme/target/pr.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 0-1025,1027-1029,1031-u64max
DATA_SOURCE 0 ref $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

block/blk-core.c blk_try_enter_queue() -> percpu_ref_tryget_live_rcu()

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

kernel/cgroup/cgroup.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 global &cpuset_mutex
HALF_LOCKED2 global &cpuset_top_mutex
HALF_LOCKED2 global &freezer_mutex
HALF_LOCKED2 global &zswap_shrink_lock

kernel/cgroup/cgroup-v1.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
NS_CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &fc->uapi_mutex

drivers/target/target_core_xcopy.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
LOCK2 &pool->lock
LOCK2 rcu_read

drivers/target/target_core_transport.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
DATA_SOURCE 0 ref $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

mm/memremap.c get_dev_pagemap() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &mf_mutex

drivers/target/target_core_device.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
DATA_SOURCE 0 ref $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/target/target_core_pr.c percpu_ref_tryget_live() -> percpu_ref_tryget_live_rcu()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->se_port_lock
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct se_device)->se_port_lock