Defined in 1 files as a function:
Referenced in 4 files:
- drivers/target/loopback/tcm_loop.c, line 609
- drivers/target/target_core_alua.c
- drivers/target/target_core_pr.c
- drivers/target/target_core_transport.c, line 1053
Smatch caller information:
drivers/target/target_core_alua.c core_alua_do_port_transition() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_alua.c core_alua_do_port_transition() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dev->t10_alua.tg_pt_gps_lock | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct t10_alua)->tg_pt_gps_lock |
drivers/target/target_core_alua.c core_alua_do_port_transition() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &lu_gp->lu_gp_lock | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct t10_alua_lu_gp)->lu_gp_lock |
drivers/target/target_core_alua.c core_alua_do_port_transition() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_alua.c target_emulate_set_target_port_groups() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dev->t10_alua.tg_pt_gps_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct t10_alua)->tg_pt_gps_lock |
drivers/target/target_core_transport.c target_qf_do_work() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/loopback/tcm_loop.c tcm_loop_port_unlink() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
drivers/target/target_core_pr.c core_scsi3_decode_spec_i_port() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_pr.c core_scsi3_decode_spec_i_port() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_pr.c core_scsi3_emulate_pro_register_and_move() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_pr.c core_scsi3_emulate_pro_register_and_move() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_pr.c core_scsi3_nodeacl_undepend_item() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/target/target_core_pr.c core_scsi3_pri_read_full_status() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &pr_tmpl->registration_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct t10_reservation)->registration_lock |
drivers/target/target_core_pr.c core_scsi3_pri_read_full_status() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &pr_tmpl->registration_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct t10_reservation)->registration_lock |
drivers/target/target_core_pr.c core_scsi3_put_pr_reg() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &pr_tmpl->registration_lock |
drivers/target/target_core_pr.c core_scsi3_tpg_undepend_item() -> atomic_dec_mb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |