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 |