Defined in 1 files as a prototype:

Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter->task 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 4096-ptr_max
PARAM_VALUE 1 waiter->task 4096-ptr_max
PARAM_VALUE 1 waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 waiter->task->blocked_lock.owner_cpu 0
PARAM_VALUE 1 waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->dep_map 1
DATA_SOURCE 0 lock $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &next->blocked_lock
LOCK2 flags
LOCK2 0 &lock->wait_lock
TYPE_LOCK (struct mutex)->wait_lock
TYPE_LOCK (struct task_struct)->blocked_lock

kernel/locking/mutex.c __ww_mutex_die() -> debug_mutex_wake_waiter()

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 waiter 4096-ptr_max
PARAM_VALUE 1 waiter->ww_ctx 4096-ptr_max
PARAM_VALUE 1 waiter->ww_ctx->acquired 1-u32max
CAPPED_DATA 0 lock 1
DATA_SOURCE 0 lock $0
DATA_SOURCE 1 waiter $1
FUZZY_MAX 1 waiter->ww_ctx->acquired 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 0 &lock->wait_lock
TYPE_LOCK (struct mutex)->wait_lock