Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/locking/rtmutex_api.c rt_mutex_futex_unlock() -> __rt_mutex_futex_unlock()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->wait_lock.dep_map->name 0-255
PARAM_VALUE 0 lock->wait_lock.owner_cpu 0
PARAM_VALUE 0 lock->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wqh 2728979400642543616
PARAM_VALUE 1 wqh->head.first 1
PARAM_VALUE 1 wqh->head.lastp 2728979400642543616
PARAM_VALUE 1 *wqh->head.lastp 1
DATA_SOURCE 0 lock $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &lock->wait_lock
HALF_LOCKED2 &curr->futex.exit_mutex
TYPE_LOCK (struct rt_mutex_base)->wait_lock

kernel/futex/pi.c wake_futex_pi() -> __rt_mutex_futex_unlock()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 wqh 6405586899507384320
PARAM_VALUE 1 wqh->head.first 1
PARAM_VALUE 1 wqh->head.lastp 6405586899507384320
PARAM_VALUE 1 *wqh->head.lastp 1
RX_PATH
LOCK2 &pi_state->pi_mutex.wait_lock
LOCK2 irq
TYPE_LOCK (struct rt_mutex_base)->wait_lock