Documented in 1 files:

Defined in 1 files as a function:

Referenced in 23 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_fence_to_handle_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
CAPPED_DATA 0 obj 1
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_fence_to_handle_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_parser_fini() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c __free_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 0,4-u64max
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0,4096-ptr_max
PARAM_VALUE 0 obj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 obj->fence 1
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0,4096-ptr_max
PARAM_VALUE 0 obj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 obj->fence 1
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0,4096-ptr_max
PARAM_VALUE 0 obj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 obj->fence 1
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c add_timeline_fence_array() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0,4096-ptr_max
PARAM_VALUE 0 obj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 obj->fence 1
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_vma.c msm_ioctl_vm_bind() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_vma.c msm_ioctl_vm_bind() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_submit.c msm_ioctl_gem_submit() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_submit.c msm_ioctl_gem_submit() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL

drivers/gpu/drm/msm/msm_syncobj.c msm_syncobj_parse_deps() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/msm/msm_syncobj.c msm_syncobj_parse_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/i915/gem/i915_gem_context.c i915_gem_context_release_work() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panfrost/panfrost_drv.c panfrost_ioctl_submit() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/xe/xe_oa.c xe_oa_destroy_locked() -> drm_syncobj_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_stream_open_ioctl_locked() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->refcount.refcount.refs.counter 1
NOCHECK_CALL
LOCK2 &param.hwe->gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/panthor/panthor_drv.c panthor_sync_signal_free() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu

drivers/gpu/drm/nouveau/nouveau_sched.c nouveau_job_fence_attach() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
NOCHECK_CALL
LOCK2 &sched->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex

drivers/gpu/drm/nouveau/nouveau_sched.c nouveau_job_fence_attach_cleanup() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &file_priv->driver_priv->mutex

drivers/gpu/drm/v3d/v3d_sched.c v3d_performance_query_info_free() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_sched.c v3d_timestamp_query_info_free() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/xe/xe_exec_queue.c xe_exec_queue_destroy() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &tlb_inval->seqno_lock
HALF_LOCKED2 &vm->exec_queues.lock
HALF_LOCKED2 &xef->exec_queue.lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/tegra/submit.c tegra_drm_ioctl_channel_submit() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
NOCHECK_CALL
LOCK2 &fpriv->lock
TYPE_LOCK (struct tegra_drm_file)->lock

drivers/gpu/drm/xe/xe_sync.c xe_sync_entry_cleanup() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 &stream->stream_lock
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/v3d/v3d_submit.c v3d_get_multisync_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_process_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 0,4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj $1
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_process_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_put_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 obj->fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
CAPPED_DATA 0 obj 1
DATA_SOURCE 0 obj $0
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_put_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_free_post_deps() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_free_syncobjs() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_array_find() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_array_free() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_create() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->cb_list.next 4096-ptr_max
PARAM_VALUE 0 obj->cb_list.next->next 4096-ptr_max
PARAM_VALUE 0 obj->cb_list.prev 4096-ptr_max
PARAM_VALUE 0 obj->cb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->cb_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.next 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.next->next 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 obj->fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 obj->refcount.refcount.refs.counter 1
BUF_SIZE 0 obj 128
DATA_SOURCE 0 obj r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_syncobj.c drm_syncobj_create_as_handle() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
CAPPED_DATA 0 obj 1
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_destroy() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
DATA_SOURCE 0 obj r xa_erase
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_eventfd_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->ev_fd_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 obj->fence 1
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_eventfd_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_fd_to_handle() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
BUF_SIZE 0 obj s32min-(-2),1-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
CAPPED_DATA 0 obj 1
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_file_release() -> drm_syncobj_put()

Type Parameter Key Value
BUF_SIZE 0 obj (-1),26
BUF_SIZE 0 obj (-1),26
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_find_fence() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL
HALF_LOCKED2 &fpriv->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_syncobj.c drm_syncobj_get_handle() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
CAPPED_DATA 0 obj 1
DATA_SOURCE 0 obj $1
NOCHECK_CALL
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_syncobj.c drm_syncobj_handle_to_fd() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_import_sync_file_fence() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_release() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_transfer_to_binary() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_transfer_to_timeline() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence 4096-ptr_max
PARAM_VALUE 0 obj->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_update_timeline_node() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL
HALF_LOCKED2 gobj->resv

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_va_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 gobj->resv

drivers/gpu/drm/vc4/vc4_gem.c vc4_submit_cl_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
DATA_SOURCE 0 obj r drm_syncobj_find
NOCHECK_CALL

drivers/accel/amdxdna/aie2_ctx.c aie2_ctx_syncobj_create() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
CAPPED_DATA 0 obj 1
NOCHECK_CALL
LOCK2 _T->lock
LOCK2 global &drm_unplug_srcu

drivers/accel/amdxdna/aie2_ctx.c aie2_ctx_syncobj_destroy() -> drm_syncobj_put()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 obj->fence 1
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &drm_unplug_srcu
TYPE_LOCK (struct amdxdna_dev)->dev_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_signal_ioctl() -> drm_syncobj_put()

Type Parameter Key Value
NOCHECK_CALL