Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

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

kernel/locking/osq_lock.c atomic_try_cmpxchg_release() -> raw_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
DATA_SOURCE 0 v $0
DATA_SOURCE 1 old $1
DATA_SOURCE 2 new $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/rcuref.c atomic_try_cmpxchg_release() -> raw_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)
DATA_SOURCE 0 v $0
DATA_SOURCE 1 old $1
DATA_SOURCE 2 new $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &f->lock
HALF_LOCKED2 _T->lock