Documented in 1 files:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/gpu/drm/ttm/ttm_execbuf_util.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 1 ctx 0,4096-ptr_max
PARAM_VALUE 1 ctx->contending_lock 4096-ptr_max
PARAM_VALUE 1 ctx->deadlock_inject_countdown 0-3758096380,u32max
PARAM_VALUE 1 ctx->deadlock_inject_interval 0-3758096380,u32max
PARAM_VALUE 1 ctx->dep_map->name 0-255
PARAM_VALUE 1 ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ctx->wounded 0-1
PARAM_VALUE 1 ctx->ww_class->acquire_name 4096-ptr_max
PARAM_VALUE 1 ctx->ww_class->is_wait_die 0-s32max
PARAM_VALUE 1 ctx->ww_class->mutex_name 4096-ptr_max
DATA_SOURCE 1 ctx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev_priv->cmdbuf_mutex

drivers/regulator/core.c regulator_lock_dependent() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 1 ctx 864463369733566464,998508678040961024,1909401411367448576,2858210178059689984,4636161381130256384,5677905910954188800,8267003673384861696,8929974726150414336
PARAM_VALUE 1 ctx->dep_map->name 0-255
PARAM_VALUE 1 ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ctx->ww_class->mutex_name 8730023023955308544
DATA_SOURCE 1 ctx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &regulator_list_mutex
HALF_LOCKED2 &new_contended_rdev->mutex

drivers/regulator/core.c regulator_lock_two() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 1 ctx 4636161381130256384
PARAM_VALUE 1 ctx->contending_lock 4096-ptr_max
PARAM_VALUE 1 ctx->deadlock_inject_countdown 0-3758096380,u32max
PARAM_VALUE 1 ctx->deadlock_inject_interval 0-3758096380,u32max
PARAM_VALUE 1 ctx->dep_map->name 0-255
PARAM_VALUE 1 ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ctx->wounded 0-1
PARAM_VALUE 1 ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ctx->ww_class->mutex_name 8730023023955308544
DATA_SOURCE 1 ctx $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 &rdev2->mutex
HALF_LOCKED2 &contended->mutex
HALF_LOCKED2 &rdev1->mutex
TYPE_LOCK (struct regulator_dev)->mutex

drivers/regulator/core.c regulator_summary_lock() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 1 ctx 4542067791831855104
PARAM_VALUE 1 ctx->contending_lock 0,4096-ptr_max
PARAM_VALUE 1 ctx->dep_map->name 0-255
PARAM_VALUE 1 ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ctx->wounded 0-1
PARAM_VALUE 1 ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ctx->ww_class->mutex_name 8730023023955308544
DATA_SOURCE 1 ctx $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
LOCK2 global &regulator_list_mutex
HALF_LOCKED2 &new_contended_rdev->mutex
TYPE_LOCK (struct seq_file)->lock

lib/locking-selftest.c ww_test_edeadlk_acquire_more_edeadlk_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 3106935919113240576
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 0 lock->base.wait_lock.owner (-1)
PARAM_VALUE 0 lock->base.wait_lock.owner_cpu u32max
PARAM_VALUE 0 lock->ctx 8468864146995625984
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 global &o
LOCK2 global &o2
LOCK2 global &o2.base
LOCK2 global &o3.base
TYPE_LOCK (struct ww_mutex)->base

lib/locking-selftest.c ww_test_edeadlk_acquire_more_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 3106935919113240576
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 global &o
LOCK2 global &o2
LOCK2 global &o2.base
TYPE_LOCK (struct ww_mutex)->base

lib/locking-selftest.c ww_test_edeadlk_acquire_wrong_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 3106935919113240576
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 global &o2.base
HALF_LOCKED2 global &o2
TYPE_LOCK (struct ww_mutex)->base

lib/locking-selftest.c ww_test_edeadlk_no_unlock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4122907753892020224
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 global &o
LOCK2 global &o2

lib/locking-selftest.c ww_test_edeadlk_normal_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4122907753892020224
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 global &o2

lib/locking-selftest.c ww_test_unneeded_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 691330749751296
PARAM_VALUE 1 ctx 7263305218437623808
PARAM_VALUE 1 ctx->acquired 0
PARAM_VALUE 1 ctx->contending_lock 0
PARAM_VALUE 1 ctx->deadlock_inject_countdown 0-15
PARAM_VALUE 1 ctx->deadlock_inject_interval 1
PARAM_VALUE 1 ctx->done_acquire 0
PARAM_VALUE 1 ctx->wounded 0
PARAM_VALUE 1 ctx->ww_class 7821351485522206720
NOCHECK_CALL

drivers/gpu/drm/nouveau/nouveau_gem.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 3618475209504833552
PARAM_VALUE 1 ctx->contending_lock 4096-ptr_max
PARAM_VALUE 1 ctx->deadlock_inject_countdown 0-3758096380,u32max
PARAM_VALUE 1 ctx->deadlock_inject_interval 0-3758096380,u32max
PARAM_VALUE 1 ctx->wounded 0-1
DATA_SOURCE 1 ctx $1
NOCHECK_CALL
LOCK2 &file_priv->driver_priv->mutex

drivers/gpu/drm/i915/i915_gem_ww.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 4096-ptr_max
DATA_SOURCE 1 ctx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->clientlist_mutex
HALF_LOCKED2 &helper->lock
HALF_LOCKED2 &pxp->tee_mutex
HALF_LOCKED2 &vgpu->vgpu_lock

drivers/gpu/drm/drm_exec.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 4096-ptr_max
DATA_SOURCE 1 ctx $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &mem->lock
HALF_LOCKED2 &mem->process_info->lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/dma-buf/dma-resv.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 8500983754300416000
PARAM_VALUE 0 lock->base.magic 4096-ptr_max
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 0 lock->ww_class 8825623990767841280
PARAM_VALUE 1 ctx 1271164601974165504
PARAM_VALUE 1 ctx->contending_lock 4096-ptr_max
PARAM_VALUE 1 ctx->wounded 0
DATA_SOURCE 1 ctx $1
NOCHECK_CALL
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

kernel/locking/locktorture.c torture_ww_mutex_lock() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock->base.dep_map->name 0-255
PARAM_VALUE 0 lock->base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ctx 4096-ptr_max
PARAM_VALUE 1 ctx->dep_map->name 0-255
PARAM_VALUE 1 ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ctx->wounded 0-1
PARAM_VALUE 1 ctx->ww_class->acquire_name 2042222122760065024
PARAM_VALUE 1 ctx->ww_class->is_wait_die 1
PARAM_VALUE 1 ctx->ww_class->mutex_name 5134360359185924096
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 0 lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &torture_mutex
HALF_LOCKED2 global &torture_raw_spinlock
HALF_LOCKED2 global &torture_rwlock
HALF_LOCKED2 global &torture_rwsem
HALF_LOCKED2 global &torture_spinlock

drivers/gpu/drm/drm_mode_config.c dma_resv_lock_slow() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 1386761667904524288
PARAM_VALUE 0 lock->base.magic 4096-ptr_max
PARAM_VALUE 0 lock->base.osq.tail.counter 0-s32max
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 0 lock->ww_class 8825623990767841280
PARAM_VALUE 1 ctx 5576857051533688832
PARAM_VALUE 1 ctx->contending_lock 4096-ptr_max
PARAM_VALUE 1 ctx->wounded 0
DATA_SOURCE 1 ctx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mode_config.connection_mutex
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &xenwatch_mutex

drivers/gpu/drm/drm_modeset_lock.c modeset_lock() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 1-u64max
PARAM_VALUE 1 ctx 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &client->modeset_mutex
HALF_LOCKED2 &config->mutex
HALF_LOCKED2 &dev->master_mutex
HALF_LOCKED2 &dev->mode_config.mutex
HALF_LOCKED2 &display->drm->mode_config.connection_mutex
HALF_LOCKED2 &display->drm->mode_config.mutex
HALF_LOCKED2 &fb_helper->client.modeset_mutex
HALF_LOCKED2 &fb_helper->lock
HALF_LOCKED2 &helper->lock
HALF_LOCKED2 &kms->dump_mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &drm_bridge_unplug_srcu
HALF_LOCKED2 global &drm_unplug_srcu

kernel/locking/test-ww_mutex.c stress_inorder_work() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 468702848823025664
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
HALF_LOCKED2 &pool->lock

kernel/locking/test-ww_mutex.c stress_reorder_work() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock->base.dep_map->name 0-255
PARAM_VALUE 0 lock->base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ctx 517644360700518400
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 0 lock
HALF_LOCKED2 &pool->lock

kernel/locking/test-ww_mutex.c test_abba() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 5705221976740245760
PARAM_VALUE 0 lock->ctx 0
PARAM_VALUE 0 lock->ww_class 2988183655152754688,7498843200183713792
PARAM_VALUE 1 ctx 8030658364977332224
PARAM_VALUE 1 ctx->wounded 0-1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 &abba.b_mutex
LOCK2 global &run_lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct test_abba)->b_mutex

kernel/locking/test-ww_mutex.c test_abba_work() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock 4096-ptr_max
PARAM_VALUE 1 ctx 6841203980739543040
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 &abba->a_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct test_abba)->a_mutex

kernel/locking/test-ww_mutex.c test_cycle_work() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 0 lock->base.dep_map->name 0-255
PARAM_VALUE 0 lock->base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ctx 5869887501821497344
PARAM_VALUE 1 ctx->wounded 0-1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
LOCK2 0 lock
HALF_LOCKED2 &pool->lock

lib/test_context-analysis.c test_ww_mutex_lock_ctx() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 3704146081720381440
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ctx->deadlock_inject_interval
HALF_LOCKED2 &d->mtx

lib/test_context-analysis.c test_ww_mutex_lock_noctx() -> ww_mutex_lock_slow()

Type Parameter Key Value
PARAM_VALUE 1 ctx 0
NOCHECK_CALL
HALF_LOCKED2 &d->mtx
HALF_LOCKED2 &d->mtx.base