Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 3 files as a macro:

Defined in 20 files as a function:

Referenced in 4 files:

Smatch caller information:

kernel/futex/core.c futex_cmpxchg_value_locked() -> futex_atomic_cmpxchg_inatomic()

Type Parameter Key Value
PARAM_VALUE 0 uval 5911024484344090624
PARAM_VALUE 3 newval 0,1073741824-u32max
DATA_SOURCE 0 uval $0
DATA_SOURCE 1 uaddr $1
DATA_SOURCE 2 oldval $2
DATA_SOURCE 3 newval $3
BIT_INFO 3 newval 0x40000000,0xc0000000
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 *uval 0-u32max
USER_DATA 2 oldval 0-u32max
USER_DATA 3 newval 0,1073741824-u32max[c]
USER_PTR 0 uval
LOCK2 &curr->futex.exit_mutex
TYPE_LOCK (struct futex_sched_data)->exit_mutex

kernel/futex/pi.c futex_cmpxchg_value_locked() -> futex_atomic_cmpxchg_inatomic()

Type Parameter Key Value
PARAM_VALUE 0 uval 1330968361866330112,3533957183982542848,6004039199917338624,7663665894824783872
DATA_SOURCE 0 uval $0
DATA_SOURCE 1 uaddr $1
DATA_SOURCE 2 oldval $2
DATA_SOURCE 3 newval $3
PREEMPT_ADD
RX_PATH
USER_DATA 0 *uval 0-u32max
USER_DATA 1 uaddr 0-u64max[c]
USER_DATA 2 oldval 0-u32max
USER_DATA 3 newval 0-u32max[c]
USER_PTR 0 uval
HALF_LOCKED2 &hb->lock
HALF_LOCKED2 &pi_state->pi_mutex.wait_lock
HALF_LOCKED2 irq