Documented in 1 files:

Defined in 1 files as a function:

Referenced in 35 files:

Smatch caller information:

drivers/infiniband/hw/hfi1/verbs_txreq.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 &sde->head_lock.lock
HALF_LOCKED2 &sde->tail_lock
HALF_LOCKED2 flags
HALF_LOCKED2 ps.flags

mm/memcontrol.c obj_cgroup_put() -> percpu_ref_put()

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

drivers/md/md-llbitmap.c llbitmap_release_barrier() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

block/blk-throttle.c blkg_put() -> percpu_ref_put()

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
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct request_queue)->queue_lock

mm/userfaultfd.c put_swap_device() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL
LOCK2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

net/core/devmem.c net_devmem_dmabuf_binding_put() -> percpu_ref_put()

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

drivers/md/md.c md_end_clone_io() -> percpu_ref_put()

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_put()

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
HALF_LOCKED2 &md->io_barrier

drivers/md/md.c md_handle_request() -> percpu_ref_put()

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
HALF_LOCKED2 &md->io_barrier

drivers/md/md.c md_write_end() -> percpu_ref_put()

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

drivers/md/md.c mddev_init() -> percpu_ref_put()

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 &disks_mutex

mm/page_io.c obj_cgroup_put() -> percpu_ref_put()

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

mm/swapfile.c get_swap_device() -> percpu_ref_put()

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
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/swapfile.c put_swap_device() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 ptl

mm/percpu.c obj_cgroup_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 flags
LOCK2 global &pcpu_lock

drivers/infiniband/sw/rdmavt/qp.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &qp->r_lock
HALF_LOCKED2 &qp->s_hlock
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 &rq->kwq->c_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

io_uring/msg_ring.c io_msg_tw_complete() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 _T->lock

lib/percpu-refcount.c percpu_ref_call_confirm_rcu() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/percpu-refcount.c percpu_ref_kill_and_confirm() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 4096-ptr_max
PARAM_VALUE 0 ref->data->rcu.func 1-u64max
PARAM_VALUE 0 ref->data->rcu.next 0
DATA_SOURCE 0 ref $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ref->percpu_count_ptr
LOCK2 flags
LOCK2 global &percpu_ref_switch_lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &mddev->suspend_mutex
HALF_LOCKED2 &pr->pr_sem
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &q->mq_freeze_lock
HALF_LOCKED2 &q->queue_lock
HALF_LOCKED2 &wq->wq_lock
HALF_LOCKED2 global &cgwb_lock
HALF_LOCKED2 global &nfsd_mutex
HALF_LOCKED2 irq

block/blk-mq.c blk_mq_dispatch_list() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

drivers/infiniband/hw/hfi1/verbs.c rvt_put_mr() -> percpu_ref_put()

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

fs/aio.c __do_compat_sys_io_setup() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0,4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_compat_sys_io_setup() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0,4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_compat_sys_io_submit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c __do_compat_sys_io_submit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c __do_sys_io_cancel() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c __do_sys_io_cancel() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c __do_sys_io_destroy() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_sys_io_destroy() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_sys_io_setup() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0,4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_sys_io_setup() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0,4096-ptr_max
NOCHECK_CALL

fs/aio.c __do_sys_io_submit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c __do_sys_io_submit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c do_io_getevents() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL

fs/aio.c free_ioctx_users() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->data 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &q->queue_lock
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 &tg_pt_gp->tg_pt_gp_lock
HALF_LOCKED2 &tg_pt_gp->tg_pt_gp_transition_mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcpu_lock

fs/aio.c iocb_destroy() -> percpu_ref_put()

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

drivers/scsi/scsi_lib.c scsi_end_request() -> percpu_ref_put()

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

kernel/bpf/syscall.c obj_cgroup_put() -> percpu_ref_put()

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

mm/zswap.c obj_cgroup_put() -> percpu_ref_put()

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

mm/zswap.c put_swap_device() -> percpu_ref_put()

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

mm/zswap.c zswap_pool_put() -> percpu_ref_put()

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

mm/memory_hotplug.c put_dev_pagemap() -> percpu_ref_put()

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
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &split_debug_mutex
HALF_LOCKED2 &vm->hotplug_mutex
HALF_LOCKED2 &z->lock
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &page_offline_rwsem
HALF_LOCKED2 global &scan_mutex
HALF_LOCKED2 irq

fs/nfsd/nfssvc.c nfsd_net_put() -> percpu_ref_put()

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

mm/shmem.c put_swap_device() -> percpu_ref_put()

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

net/smc/smc_tx.c smc_wr_tx_link_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref->data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

drivers/pci/p2pdma.c p2pdma_folio_free() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

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/pci/p2pdma.c p2pmem_alloc_mmap() -> percpu_ref_put()

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/pci/p2pdma.c pci_free_p2pmem() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/sw/rdmavt/mr.c rvt_put_mr() -> percpu_ref_put()

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_notif_tw() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 _T->lock

io_uring/zcrx.c zcrx_unregister_user() -> percpu_ref_put()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
LOCK2 bh
HALF_LOCKED2 &ctx->uring_lock

drivers/infiniband/sw/rdmavt/rc.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &qp->s_lock
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 flags
HALF_LOCKED2 ps.flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct rvt_qp)->s_lock

drivers/nvme/target/core.c nvmet_pr_put_ns_pc_ref() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/nvme/target/core.c nvmet_put_namespace() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/nvme/target/core.c nvmet_req_complete() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/nvme/target/core.c nvmet_req_uninit() -> percpu_ref_put()

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

drivers/infiniband/hw/hfi1/ud.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &qp->r_lock
HALF_LOCKED2 ps.flags
TYPE_LOCK (struct rvt_qp)->r_lock

io_uring/io_uring.c io_activate_pollwq() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
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

io_uring/io_uring.c io_activate_pollwq_cb() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/bpf/memalloc.c obj_cgroup_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
NOCHECK_CALL

drivers/dma/idxd/submit.c idxd_submit_desc() -> percpu_ref_put()

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

drivers/dma/idxd/submit.c idxd_submit_desc() -> percpu_ref_put()

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

drivers/target/target_core_alua.c core_alua_queue_state_change_ua() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tg_pt_gp->tg_pt_gp_lock
LOCK2 &tg_pt_gp->tg_pt_gp_transition_mutex
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

block/blk-core.c blk_queue_exit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ref->percpu_count_ptr
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &zwplug->lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/smc/smc_cdc.c smc_wr_tx_link_put() -> percpu_ref_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

mm/memory.c put_swap_device() -> percpu_ref_put()

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
HALF_LOCKED2 &mm->mmap_lock

drivers/infiniband/hw/hfi1/rc.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

block/bio.c blkg_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

kernel/bpf/cgroup.c cgroup_bpf_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
NOCHECK_CALL

kernel/cgroup/cgroup.c cgroup_bpf_put() -> percpu_ref_put()

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

kernel/cgroup/cgroup.c css_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &encl->lock
HALF_LOCKED2 &lo->lo_work_lock
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &resv->lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &wb->bdi->cgwb_release_mutex
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &cpuset_mutex
HALF_LOCKED2 global &cpuset_top_mutex
HALF_LOCKED2 global &freezer_mutex
HALF_LOCKED2 global &hugetlb_lock
HALF_LOCKED2 global &oom_lock
HALF_LOCKED2 global &sched_domains_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

drivers/target/target_core_xcopy.c xcopy_pt_undepend_remotedev() -> percpu_ref_put()

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

drivers/infiniband/ulp/rtrs/rtrs-srv.c rtrs_srv_put_ops_ids() -> percpu_ref_put()

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

mm/mincore.c put_swap_device() -> percpu_ref_put()

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
HALF_LOCKED2 ptl

mm/memory-failure.c put_dev_pagemap() -> percpu_ref_put()

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 global &mf_mutex
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex

block/blk-cgroup.c blkg_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &q->blkcg_mutex
HALF_LOCKED2 &q->queue_lock
HALF_LOCKED2 irq

drivers/target/target_core_transport.c target_free_cmd_counter() -> percpu_ref_put()

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

drivers/target/target_core_transport.c target_release_cmd_kref() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/target/target_core_transport.c transport_complete_task_attr() -> percpu_ref_put()

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

drivers/target/target_core_transport.c transport_lun_remove_cmd() -> percpu_ref_put()

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

net/smc/smc_wr.c smc_wr_reg_send() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
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 put_dev_pagemap() -> percpu_ref_put()

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
HALF_LOCKED2 &mdevice->devmem_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &list_lock

net/smc/smc_llc.c smc_wr_tx_link_put() -> percpu_ref_put()

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_put() -> percpu_ref_put()

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_exit() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
NOCHECK_CALL

io_uring/tw.c ctx_flush_and_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref->data 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sqd->lock

block/blk-iolatency.c blkg_put() -> percpu_ref_put()

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 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

mm/swap_state.c put_swap_device() -> percpu_ref_put()

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

mm/memcontrol-v1.c obj_cgroup_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &(&mapping->i_pages)->xa_lock
HALF_LOCKED2 &mapping->host->i_lock

drivers/infiniband/hw/hfi1/uc.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &packet->qp->r_lock
LOCK2 flags
LOCK2 rcu_read
TYPE_LOCK (struct rvt_qp)->r_lock

block/bfq-cgroup.c blkg_put() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &q->elevator_lock
HALF_LOCKED2 irq

drivers/infiniband/hw/hfi1/tid_rdma.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &qp->s_lock
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct rvt_qp)->s_lock

drivers/target/target_core_pr.c __core_scsi3_alloc_registration() -> percpu_ref_put()

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
HALF_LOCKED2 &pool->lock

drivers/target/target_core_pr.c __core_scsi3_alloc_registration() -> percpu_ref_put()

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
HALF_LOCKED2 &pool->lock

drivers/target/target_core_pr.c __core_scsi3_alloc_registration() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PARAM_VALUE 0 ref->percpu_count_ptr 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->se_port_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct se_device)->se_port_lock

drivers/infiniband/hw/hfi1/qp.c rvt_put_mr() -> percpu_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &qp->r_lock
HALF_LOCKED2 &qp->s_hlock
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 ps->flags
HALF_LOCKED2 ps.flags
HALF_LOCKED2 rcu_read