Documented in 1 files:
Defined in 1 files as a function:
Referenced in 14 files:
- drivers/md/md-llbitmap.c, line 825
- drivers/md/md.c, line 371
- drivers/nvme/target/pr.c, line 602
- drivers/target/target_core_transport.c
- include/linux/backing-dev-defs.h, line 278
- io_uring/io_uring.h, line 238
- io_uring/register.c, line 761
- io_uring/rw.c, line 514
- io_uring/sqpoll.c, line 232
- io_uring/tw.h, line 24
- kernel/bpf/bpf_cgrp_storage.c, line 142
- kernel/cgroup/cgroup-v1.c, line 1276
- kernel/cgroup/cgroup.c
- lib/percpu-refcount.c
Smatch caller information:
drivers/md/md-llbitmap.c llbitmap_raise_barrier() -> percpu_ref_is_dying()
| 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 |
drivers/md/md-llbitmap.c llbitmap_raise_barrier() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 2-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/md/md-llbitmap.c llbitmap_raise_barrier() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 2-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/md/md.c is_md_suspended() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/bpf/bpf_cgrp_storage.c ____bpf_cgrp_storage_get() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
lib/percpu-refcount.c __percpu_ref_switch_mode() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | ref->percpu_count_ptr | |
| LOCK2 | global &percpu_ref_switch_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
lib/percpu-refcount.c percpu_ref_kill_and_confirm() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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 |
lib/percpu-refcount.c percpu_ref_resurrect() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 0-1025,1027-1029,1031-u64max |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| LOCK2 | global &percpu_ref_switch_lock | ||
| HALF_LOCKED2 | &dev->delayed_cmd_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mddev->suspend_mutex | ||
| HALF_LOCKED2 | &q->mq_freeze_lock | ||
| HALF_LOCKED2 | &wq->wq_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &swapon_mutex |
io_uring/sqpoll.c __io_sq_thread() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &ctx->uring_lock | ||
| LOCK2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock | ||
| TYPE_LOCK | (struct io_sq_data)->lock |
io_uring/zcrx.c io_lockdep_assert_cq_locked() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/fs-writeback.c wb_dying() -> percpu_ref_is_dying()
| 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 | |||
| HALF_LOCKED2 | &pool->lock |
io_uring/io_uring.c io_lockdep_assert_cq_locked() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ctx->completion_lock | ||
| HALF_LOCKED2 | &ctx->uring_lock |
drivers/nvme/target/pr.c nvmet_pr_do_abort() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 0-1025,1027-1029,1031-u64max |
| HALF_LOCKED2 | &pool->lock |
kernel/cgroup/cgroup.c cgroup_apply_control_disable() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
kernel/cgroup/cgroup.c cgroup_apply_control_enable() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/cgroup/cgroup.c cgroup_kill_sb() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
kernel/cgroup/cgroup.c kill_css_finish() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &cgroup_mutex |
kernel/cgroup/cgroup-v1.c cgroup1_get_tree() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| NS_CAPABLE | 0 | 21 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
drivers/target/target_core_transport.c target_handle_task_attr() -> percpu_ref_is_dying()
| 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 | |||
| 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 target_handle_task_attr() -> percpu_ref_is_dying()
| 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 | |||
| LOCK2 | &dev->delayed_cmd_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &sess->cmdsn_mutex | ||
| TYPE_LOCK | (struct se_device)->delayed_cmd_lock |
io_uring/tw.c io_should_terminate_tw() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
io_uring/rw.c io_rw_should_reissue() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &epdata->dev->lock |
io_uring/register.c __io_uring_register() -> percpu_ref_is_dying()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |