Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/locking/rtmutex_api.c remove_waiter() -> task_blocked_on_lock()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p r rt_mutex_owner
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &lock->wait_lock
LOCK2 0 &p->pi_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/locking/rtmutex_api.c rt_mutex_adjust_prio_chain() -> task_blocked_on_lock()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->pi_blocked_on->lock 4096-ptr_max
DATA_SOURCE 0 p r get_task_struct
RX_PATH
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
LOCK2 &lock->wait_lock
LOCK2 irq
LOCK2 0 &p->pi_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/locking/rtmutex_api.c rt_mutex_adjust_prio_chain() -> task_blocked_on_lock()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->pi_blocked_on->lock 4096-ptr_max
DATA_SOURCE 0 p r get_task_struct
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 p->dl.pi_se->runtime 1-17592186044415[c]
NO_OVERFLOW_SIMPLE 0 p->dl.pi_se->dl_runtime
LOCK2 &lock->wait_lock
LOCK2 irq
LOCK2 0 &p->pi_lock
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/locking/rtmutex_api.c task_blocks_on_rt_mutex() -> task_blocked_on_lock()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p r rt_mutex_owner
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 0 &p->pi_lock
HALF_LOCKED2 &lock->wait_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock