Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/locking/mutex.c __mutex_lock_common() -> mutex_optimistic_spin()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 1 ww_ctx 0,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 2 waiter 0
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 $0
DATA_SOURCE 1 ww_ctx $5 [m]
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING

kernel/locking/mutex.c __mutex_lock_common() -> mutex_optimistic_spin()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->first_waiter 5159360019465732096
PARAM_VALUE 0 lock->first_waiter->list.prev 5159360019465732096
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 (-1)
PARAM_VALUE 0 lock->wait_lock.owner_cpu u32max
PARAM_VALUE 1 ww_ctx 0,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 2 waiter 5159360019465732096
PARAM_VALUE 2 waiter->list.next 4096-ptr_max
PARAM_VALUE 2 waiter->magic 5159360019465732096
PARAM_VALUE 2 waiter->ww_ctx 0,4096-ptr_max
BUF_SIZE 1 ww_ctx (-1)-0,152
BUF_SIZE 1 ww_ctx (-1)-0,152
CAPPED_DATA 0 lock 1
CAPPED_DATA 0 &lock->dep_map 1
DATA_SOURCE 0 lock $0
DATA_SOURCE 1 ww_ctx $5 [m]
PARAM_COMPARE 2 waiter == $0->first_waiter
MEM_ZERO 2 waiter
PREEMPT_ADD <- disables preempt
RX_PATH