Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

lib/refcount.c refcount_dec_if_one() -> atomic_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 0 v 192,572,4096-ptr_max
PARAM_VALUE 1 old 2750701978916265984
PARAM_VALUE 1 *old 1
PARAM_VALUE 2 new 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 v->counter s32min-s32max
HALF_LOCKED2 &(&ictx->objects)->xa_lock
HALF_LOCKED2 &base->lock.lock
HALF_LOCKED2 &context->page_mutex
HALF_LOCKED2 &intf->users_mutex
HALF_LOCKED2 &rx->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &nlm_host_mutex
HALF_LOCKED2 lock
HALF_LOCKED2 rcu_read

lib/refcount.c refcount_dec_not_one() -> atomic_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 1 old 9202033356010598400
PARAM_VALUE 1 *old s32min-(-1073741825),(-1073741823)-(-1),2-s32max
PARAM_VALUE 2 new s32min-(-1073741826),(-1),1-s32max
CAPPED_DATA 2 new 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

kernel/locking/osq_lock.c osq_unlock() -> atomic_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 4949324654308601856
PARAM_VALUE 1 *old 1
PARAM_VALUE 2 new 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/rcuref.c rcuref_put_slowpath() -> atomic_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 *old (-1)
PARAM_VALUE 2 new (-536870912)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &f->lock
HALF_LOCKED2 _T->lock