Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
lib/percpu-refcount.c percpu_ref_kill_and_confirm() -> __percpu_ref_switch_mode()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 0,2-u64max |
| DATA_SOURCE | 0 | ref | $0 |
| DATA_SOURCE | 1 | confirm_switch | $1 |
| BIT_INFO | 0 | ref->percpu_count_ptr | 0x2,0xffffffffffffffff |
| 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 |
lib/percpu-refcount.c percpu_ref_resurrect() -> __percpu_ref_switch_mode()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 1 | confirm_switch | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 |
lib/percpu-refcount.c percpu_ref_switch_to_atomic() -> __percpu_ref_switch_mode()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data->force_atomic | 1 |
| PARAM_VALUE | 1 | confirm_switch | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| DATA_SOURCE | 1 | confirm_switch | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &percpu_ref_switch_lock |
lib/percpu-refcount.c percpu_ref_switch_to_percpu() -> __percpu_ref_switch_mode()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ref | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data | 4096-ptr_max |
| PARAM_VALUE | 0 | ref->data->force_atomic | 0 |
| PARAM_VALUE | 1 | confirm_switch | 0 |
| DATA_SOURCE | 0 | ref | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &percpu_ref_switch_lock | ||
| HALF_LOCKED2 | &mddev->lock | ||
| HALF_LOCKED2 | &of->mutex |