Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/locking/mutex.c __ww_mutex_add_waiter() -> __ww_mutex_wound()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter 0,4096-ptr_max
PARAM_VALUE 0 lock->first_waiter->list.next 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter->list.prev 5159360019465732096
PARAM_VALUE 0 lock->first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 lock->first_waiter->list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter->magic 5159360019465732096
PARAM_VALUE 0 lock->first_waiter->ww_ctx 0,4096-ptr_max
PARAM_VALUE 0 lock->osq.tail.counter 0-s32max
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 ww_ctx 4096-ptr_max
PARAM_VALUE 1 ww_ctx->ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 1 ww_ctx->ww_class->is_wait_die 0-s32max
PARAM_VALUE 1 ww_ctx->ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 3 wake_q 6834645599364517888
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 4096-ptr_max
BUF_SIZE 1 ww_ctx (-1)-0,152
BUF_SIZE 1 ww_ctx (-1)-0,152
CAPPED_DATA 0 lock 1
DATA_SOURCE 0 lock $1
DATA_SOURCE 1 ww_ctx $2
DATA_SOURCE 3 wake_q $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lock->wait_lock
TYPE_LOCK (struct mutex)->wait_lock

kernel/locking/mutex.c __ww_mutex_check_waiters() -> __ww_mutex_wound()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter->ww_ctx 1-u64max
PARAM_VALUE 0 lock->wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 ww_ctx 1-u64max
PARAM_VALUE 2 hold_ctx 4096-ptr_max
PARAM_VALUE 2 hold_ctx->is_wait_die 0
PARAM_VALUE 2 hold_ctx->ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 2 hold_ctx->ww_class->is_wait_die 0-s32max
PARAM_VALUE 2 hold_ctx->ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 3 wake_q 6277374782685880320,6834645599364517888
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 4096-ptr_max
PARAM_VALUE 3 *wake_q->lastp 1
BUF_SIZE 2 hold_ctx (-1)-0,152
BUF_SIZE 2 hold_ctx (-1)-0,152
CAPPED_DATA 0 lock 1
DATA_SOURCE 0 lock $0
DATA_SOURCE 2 hold_ctx $1
DATA_SOURCE 3 wake_q $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 hold_ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 2 hold_ctx->deadlock_inject_interval
LOCK2 flags
HALF_LOCKED2 &lock->base.wait_lock
HALF_LOCKED2 0 &lock->wait_lock
TYPE_LOCK (struct mutex)->wait_lock