Documented in 1 files:
Defined in 1 files as a function:
Referenced in 4 files:
- include/asm-generic/qrwlock.h, line 113
- include/linux/rcuref.h, line 109
- lib/closure.c
- rust/helpers/atomic.c, line 113
Smatch caller information:
lib/atomic64_test.c test_atomic() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 286335522 |
| PARAM_VALUE | 1 | v | 244908970501345280 |
| PARAM_VALUE | 1 | v->counter | (-1432153289) |
lib/atomic64_test.c test_atomic() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-1) |
| PARAM_VALUE | 1 | v | 244908970501345280 |
| PARAM_VALUE | 1 | v->counter | (-1432153289) |
kernel/irq/proc.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/ucount.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
net/core/dst.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/time/posix-timers.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
kernel/signal.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->sighand->siglock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
lib/closure.c closure_return_sync() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1006632961 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
lib/closure.c closure_sub() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 268435457,1006632961,1073741825 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| DATA_SOURCE | 0 | i | $1 |
| HARD_MAX | 0 | i | 1073741825 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &b->io_mutex | ||
| HALF_LOCKED2 | &c->journal.lock | ||
| HALF_LOCKED2 | &c->moving_in_flight | ||
| HALF_LOCKED2 | &c->sb_write_mutex | ||
| HALF_LOCKED2 | &c->uuid_write_mutex | ||
| HALF_LOCKED2 | &dc->in_flight | ||
| HALF_LOCKED2 | &dc->sb_write_mutex | ||
| HALF_LOCKED2 | global &bch_register_lock |
kernel/irq/irqdesc.c __rcuref_put() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 1 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &domain->root->mutex |
kernel/locking/spinlock_debug.c queued_read_unlock() -> atomic_sub_return_release()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 512 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |