Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/file.c __file_ref_put() -> atomic_long_try_cmpxchg_release()

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

kernel/printk/printk_ringbuffer.c desc_update_last_finalized() -> atomic_long_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 9047535139079675904
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 e.irqflags
HALF_LOCKED2 irqflags

kernel/locking/mutex.c __mutex_handoff() -> atomic_long_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 old 301908352270938112
PREEMPT_ADD
LOCK2 &lock->wait_lock
LOCK2 flags
TYPE_LOCK (struct mutex)->wait_lock

kernel/locking/mutex.c __mutex_unlock_slowpath() -> atomic_long_try_cmpxchg_release()

Type Parameter Key Value
PARAM_VALUE 1 old 3697588638538514432
PARAM_VALUE 2 new 0-5
PREEMPT_ADD <- disables preempt