Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/gpu/drm/lima/lima_gem.c lima_gem_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 1 count 1-s32max
PARAM_VALUE 2 acquire_ctx 4860035057819910144
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOSPEC 1 count
NOSPEC 1 count
NOCHECK_CALL
USER_DATA 0 (*objs)._resv.lock.base.osq.tail.counter s32min-s32max[u]
USER_DATA 0 (*objs)._resv.lock.base.owner.counter s64min-s64max[u]
USER_DATA 0 (*objs).gpuva.lock.osq.tail.counter s32min-s32max[u]
USER_DATA 0 (*objs).gpuva.lock.owner.counter s64min-s64max[u]
USER_DATA 0 (*objs).handle_count 0-u32max[u]
USER_DATA 0 (*objs).name s32min-s32max[u]
USER_DATA 0 (*objs).refcount.refcount.refs.counter s32min-s32max[u]
USER_DATA 0 (*objs).size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.magic 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.owner_cpu 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.raw_lock.cnts.counter s32min-s32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.raw_lock.wlocked 0-255[u]
USER_DATA 0 (*objs).vma_node.vm_node.__subtree_last 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.flags 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.hole_size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb_hole_addr.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb_hole_size.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.stack 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_node.start 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.subtree_max_hole 0-u64max[u]
USER_DATA 1 count 2-s32max[c]
USER_PTR 0 objs

drivers/gpu/drm/lima/lima_gem.c lima_gem_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 1 count 1-s32max
PARAM_VALUE 2 acquire_ctx 4860035057819910144
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOCHECK_CALL
USER_DATA 0 (*objs)._resv.lock.base.osq.tail.counter s32min-s32max[u]
USER_DATA 0 (*objs)._resv.lock.base.owner.counter s64min-s64max[u]
USER_DATA 0 (*objs).gpuva.lock.osq.tail.counter s32min-s32max[u]
USER_DATA 0 (*objs).gpuva.lock.owner.counter s64min-s64max[u]
USER_DATA 0 (*objs).handle_count 0-u32max[u]
USER_DATA 0 (*objs).name s32min-s32max[u]
USER_DATA 0 (*objs).refcount.refcount.refs.counter s32min-s32max[u]
USER_DATA 0 (*objs).size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.magic 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.owner_cpu 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.raw_lock.cnts.counter s32min-s32max[u]
USER_DATA 0 (*objs).vma_node.vm_lock.raw_lock.wlocked 0-255[u]
USER_DATA 0 (*objs).vma_node.vm_node.__subtree_last 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.flags 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.hole_size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb_hole_addr.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.rb_hole_size.__rb_parent_color 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.size 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.stack 0-u32max[u]
USER_DATA 0 (*objs).vma_node.vm_node.start 0-u64max[u]
USER_DATA 0 (*objs).vma_node.vm_node.subtree_max_hole 0-u64max[u]
USER_DATA 1 count 2-s32max[c]
USER_PTR 0 objs

drivers/accel/ivpu/ivpu_job.c ivpu_job_prepare_bos_for_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 1 count 1-u16max
PARAM_VALUE 2 acquire_ctx 2899963348135391232
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
BUF_SIZE 0 objs 8-524280
CAPPED_DATA 1 count 1
DATA_SOURCE 1 count $3
NOCHECK_CALL
USER_DATA 1 count 2-u16max[c]
LOCK2 global &drm_unplug_srcu

drivers/accel/ethosu/ethosu_job.c ethosu_job_push() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 2 acquire_ctx 4906309542654521344
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
BUF_SIZE 0 objs 64
CAPPED_DATA 1 count 1
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/accel/rocket/rocket_job.c rocket_job_push() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 2 acquire_ctx 5477647340491657216
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
BUF_SIZE 0 objs 8
CAPPED_DATA 1 count 1
DATA_SOURCE 0 objs r _kvmalloc_array_node_noprof
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 count
LOCK2 _T->lock

drivers/gpu/drm/virtio/virtgpu_gem.c virtio_gpu_array_unlock_resv() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 1 count s32min-0,2-s32max
PARAM_VALUE 2 acquire_ctx 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vgdev->ctrlq.qlock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/panfrost/panfrost_job.c panfrost_job_push() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 2 acquire_ctx 5369888799307968512
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 count
UNITS 1 count unit_array_size

drivers/accel/amdxdna/aie2_ctx.c aie2_cmd_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 1 count 1-4095
PARAM_VALUE 2 acquire_ctx 3961907853265616896
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOCHECK_CALL
LOCK2 &client->hwctx_srcu
LOCK2 &hwctx->priv->job_sem
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_client)->hwctx_srcu
TYPE_LOCK (struct amdxdna_hwctx_priv)->job_sem

drivers/accel/amdxdna/aie2_ctx.c aie2_cmd_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 1 count 1-4095
PARAM_VALUE 2 acquire_ctx 3961907853265616896
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOCHECK_CALL
LOCK2 &client->hwctx_srcu
LOCK2 &hwctx->priv->job_sem
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_client)->hwctx_srcu
TYPE_LOCK (struct amdxdna_hwctx_priv)->job_sem

drivers/accel/amdxdna/aie2_ctx.c aie2_cmd_submit() -> drm_gem_unlock_reservations()

Type Parameter Key Value
PARAM_VALUE 1 count 0-4095
PARAM_VALUE 2 acquire_ctx 3961907853265616896
PARAM_VALUE 2 acquire_ctx->done_acquire 1
PARAM_VALUE 2 acquire_ctx->wounded 0-1
CAPPED_DATA 1 count 1
NOCHECK_CALL
LOCK2 &client->hwctx_srcu
LOCK2 &hwctx->priv->job_sem
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_client)->hwctx_srcu
TYPE_LOCK (struct amdxdna_hwctx_priv)->job_sem