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_start_proxy_lock() -> __rt_mutex_start_proxy_lock()

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 waiter 9173740585203314688
PARAM_VALUE 2 task->sched_class->pick_task 0,71,431140902756892672,1158575681758597120,5720692379550740480,7102393387566546944,7601726578106748928
PARAM_VALUE 3 wake_q 509141807900323840
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 509141807900323840
PARAM_VALUE 3 *wake_q->lastp 1
DATA_SOURCE 0 lock $0
DATA_SOURCE 1 waiter $1
DATA_SOURCE 2 task $2
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 irq
LOCK2 0 &lock->wait_lock
TYPE_LOCK (struct rt_mutex_base)->wait_lock

kernel/futex/pi.c futex_lock_pi() -> __rt_mutex_start_proxy_lock()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->wait_lock.owner_cpu 0
PARAM_VALUE 0 lock->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 waiter 1423252197386153984
PARAM_VALUE 1 waiter->task 0
PARAM_VALUE 1 waiter->wake_state 3
PARAM_VALUE 3 wake_q 8149604758187044864
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 8149604758187044864
PARAM_VALUE 3 *wake_q->lastp 1
MEM_ZERO 1 waiter
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &hb->lock
LOCK2 &q.pi_state->pi_mutex.wait_lock
LOCK2 irq
TYPE_LOCK (struct futex_hash_bucket)->lock
TYPE_LOCK (struct rt_mutex_base)->wait_lock