Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

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