Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- drivers/nvme/target/core.c, line 976
- drivers/nvme/target/pr.c, line 452
- drivers/target/target_core_transport.c, line 3241
- fs/nfsd/nfssvc.c, line 417
- include/linux/percpu-refcount.h, line 149
- kernel/cgroup/cgroup.c, line 6282
- lib/percpu-refcount.c, line 400
Smatch caller information:
mm/memcontrol.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex |
drivers/md/md-llbitmap.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/core/devmem.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| 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 percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mddev->suspend_mutex | ||
| HALF_LOCKED2 | &md->suspend_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| TYPE_LOCK | (struct mddev)->suspend_mutex |
mm/swapfile.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| CAPABLE | 0 | 21 | |
| NOCHECK_CALL |
drivers/dma/idxd/irq.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &wq->wq_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct idxd_wq)->wq_lock |
block/blk-mq.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | ref->percpu_count_ptr | |
| LOCK2 | &q->mq_freeze_lock | ||
| HALF_LOCKED2 | &ctrl->srcu | ||
| TYPE_LOCK | (struct request_queue)->mq_freeze_lock |
mm/backing-dev.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| 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 percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rcu_read |
mm/zswap.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data | 0,4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &of->mutex |
fs/nfsd/nfssvc.c nfsd_shutdown_net() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &nfsd_mutex |
drivers/infiniband/sw/rdmavt/mr.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/dma/idxd/device.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &wq->wq_lock | ||
| TYPE_LOCK | (struct idxd_wq)->wq_lock |
drivers/nvme/target/core.c nvmet_sq_destroy() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/nvme/target/core.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| 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 percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL |
io_uring/io_uring.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
drivers/nvme/target/pr.c nvmet_pr_set_ctrl_to_abort() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 0-1025,1027-1029,1031-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &pr->pr_sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct nvmet_pr)->pr_sem |
kernel/bpf/cgroup.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL |
kernel/cgroup/cgroup.c kill_css_finish() -> percpu_ref_kill_and_confirm()
| 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 | global &cgroup_mutex |
kernel/cgroup/cgroup.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &cgroup_mutex |
drivers/infiniband/ulp/rtrs/rtrs-srv.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
block/blk-cgroup.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &q->queue_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &blkcg->lock | ||
| HALF_LOCKED2 | &q->blkcg_mutex | ||
| TYPE_LOCK | (struct request_queue)->queue_lock |
drivers/target/target_core_transport.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->delayed_cmd_lock | ||
| HALF_LOCKED2 | flags |
drivers/target/target_core_transport.c target_stop_cmd_counter() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
net/smc/smc_wr.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock |
mm/memremap.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &drm->dmem->mutex | ||
| HALF_LOCKED2 | &mdevice->devmem_lock |
kernel/bpf/trampoline.c percpu_ref_kill() -> percpu_ref_kill_and_confirm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 1 | confirm_kill | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |