Documented in 1 files:
Defined in 1 files as a function:
Referenced in 23 files:
- block/blk-cgroup.c
- block/blk-mq.c, line 171
- drivers/dma/idxd/device.c, line 432
- drivers/dma/idxd/irq.c, line 193
- drivers/infiniband/sw/rdmavt/mr.c, line 234
- drivers/infiniband/ulp/rtrs/rtrs-srv.c, line 1616
- drivers/md/md-llbitmap.c, line 840
- drivers/md/md.c, line 488
- drivers/nvme/target/core.c, line 659
- drivers/target/target_core_transport.c
- fs/aio.c
- io_uring/io_uring.c, line 2419
- kernel/bpf/cgroup.c, line 245
- kernel/bpf/trampoline.c
- kernel/cgroup/cgroup.c
- mm/backing-dev.c, line 656
- mm/memcontrol.c
- mm/memremap.c, line 116
- mm/swapfile.c, line 3153
- mm/zswap.c, line 612
- net/core/devmem.c, line 153
- net/smc/smc_wr.c
- tools/testing/nvdimm/test/iomap.c, line 102
Smatch caller information:
mm/memcontrol.c mem_cgroup_css_online() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
mm/memcontrol.c memcg_reparent_objcgs() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | &pool->lock |
drivers/md/md-llbitmap.c llbitmap_suspend_timeout() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/core/devmem.c net_devmem_unbind_dmabuf() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &priv->lock | ||
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | global &cb_lock | ||
| TYPE_LOCK | (struct netdev_nl_sock)->lock |
drivers/md/md.c mddev_suspend() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mddev->suspend_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| TYPE_LOCK | (struct mddev)->suspend_mutex |
mm/swapfile.c __do_sys_swapoff() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| CAPABLE | 0 | 21 | |
| NOCHECK_CALL |
mm/swapfile.c __do_sys_swapoff() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| CAPABLE | 0 | 21 | |
| NOCHECK_CALL |
drivers/dma/idxd/irq.c idxd_int_handle_revoke() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &wq->wq_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct idxd_wq)->wq_lock |
block/blk-mq.c __blk_freeze_queue_start() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &q->mq_freeze_lock | ||
| HALF_LOCKED2 | &ctrl->srcu | ||
| TYPE_LOCK | (struct request_queue)->mq_freeze_lock |
mm/backing-dev.c cgwb_kill() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &cgwb_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | irq |
fs/aio.c free_ioctx_users() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 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 kill_ioctx() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/zswap.c zswap_compressor_param_set() -> percpu_ref_kill()
| 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 | |||
| HALF_LOCKED2 | &of->mutex |
drivers/infiniband/sw/rdmavt/mr.c rvt_free_lkey() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/dma/idxd/device.c __idxd_wq_quiesce() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &wq->wq_lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| TYPE_LOCK | (struct idxd_wq)->wq_lock |
drivers/nvme/target/core.c nvmet_ns_disable() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | global &nvmet_config_sem |
drivers/nvdimm/../../tools/testing/nvdimm/test/iomap.c nfit_test_kill() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL |
io_uring/io_uring.c io_ring_ctx_wait_and_kill() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
kernel/bpf/cgroup.c cgroup_bpf_offline() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL |
kernel/cgroup/cgroup.c cgroup_destroy_locked() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock |
kernel/cgroup/cgroup.c cgroup_kill_sb() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
drivers/infiniband/ulp/rtrs/rtrs-srv.c rtrs_srv_close_work() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
block/blk-cgroup.c blkg_create() -> percpu_ref_kill()
| 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 | |||
| LOCK2 | &q->queue_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &bdev->bd_queue->rq_qos_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &q->blkcg_mutex | ||
| TYPE_LOCK | (struct request_queue)->queue_lock |
block/blk-cgroup.c blkg_destroy() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &blkcg->lock | ||
| LOCK2 | &q->queue_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &q->blkcg_mutex | ||
| TYPE_LOCK | (struct blkcg)->lock | ||
| TYPE_LOCK | (struct request_queue)->queue_lock |
drivers/target/target_core_transport.c target_handle_task_attr() -> percpu_ref_kill()
| 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->delayed_cmd_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &sess->cmdsn_mutex | ||
| TYPE_LOCK | (struct se_device)->delayed_cmd_lock |
drivers/target/target_core_transport.c transport_clear_lun_ref() -> percpu_ref_kill()
| 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_free_link() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_wr.c smc_wr_free_link() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock |
mm/memremap.c memunmap_pages() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &drm->dmem->mutex | ||
| HALF_LOCKED2 | &mdevice->devmem_lock |
kernel/bpf/trampoline.c __bpf_tramp_image_put_rcu_tasks() -> percpu_ref_kill()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |