Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/gpu/drm/virtio/virtgpu_prime.c virtio_gpu_resource_assign_uuid() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
PARAM_VALUE 1 obj 4096-ptr_max
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
NOCHECK_CALL
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file_priv->prime.lock

drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_cursor_plane_update() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vkms_output->lock
HALF_LOCKED2 irq

drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_panic_update_dumb_bo() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
BUF_SIZE 0 objs 176
DATA_SOURCE 0 objs r virtio_gpu_panic_array_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(plane->dev)->mode_config.panic_lock
LOCK2 flags
HALF_LOCKED2 rcu_read

drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_resource_flush() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_update_dumb_bo() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

drivers/gpu/drm/virtio/virtgpu_gem.c virtio_gpu_gem_object_close() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->dev 4096-ptr_max
PARAM_VALUE 1 obj->dev->dev_private 4096-ptr_max
PARAM_VALUE 1 obj->funcs 4096-ptr_max
PARAM_VALUE 1 obj->funcs->close 4096-ptr_max
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
DATA_SOURCE 1 obj $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->object_name_lock

drivers/gpu/drm/virtio/virtgpu_gem.c virtio_gpu_gem_object_open() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->_resv.lock.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 1 obj->_resv.lock.ww_class->is_wait_die 0-s32max
PARAM_VALUE 1 obj->_resv.lock.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 1 obj->dev 4096-ptr_max
PARAM_VALUE 1 obj->dev->dev_private 4096-ptr_max
PARAM_VALUE 1 obj->dev->object_name_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 obj->dev->object_name_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->funcs 4096-ptr_max
PARAM_VALUE 1 obj->funcs->close 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->evict 0
PARAM_VALUE 1 obj->funcs->export 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->free 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->get_sg_table 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->mmap 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->open 4096-ptr_max
PARAM_VALUE 1 obj->funcs->pin 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->print_info 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->rss 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->status 0,2206473683877605376,4732760284336451584,5734366281981706240,5836107275532460032,6072073946299289600,6713341571981008896
PARAM_VALUE 1 obj->funcs->unpin 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vm_ops 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vmap 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vunmap 0,4096-ptr_max
PARAM_VALUE 1 obj->vma_node.vm_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->vma_node.vm_lock.owner (-1)
PARAM_VALUE 1 obj->vma_node.vm_lock.owner_cpu u32max
PARAM_VALUE 1 obj->vma_node.vm_lock.raw_lock.wlocked 0
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 1 obj (-1),1-4064
BUF_SIZE 1 obj (-1),1-4064
BUF_SIZE 1 obj->dma_buf s32min-(-1),1-s32max
BUF_SIZE 1 obj->funcs (-1),120
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
DATA_SOURCE 1 obj $0
STR_LEN 1 obj->dev (-1),4
NOSPEC 1 obj->size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 obj->filp->f_flags 0-18433,32770
USER_DATA 1 obj->filp->f_mode 33554432,34078720-571342855[c]
USER_DATA 1 obj->size 0-u64max[c]
USER_DATA 1 obj->vma_node.vm_node.size 1-s32max[c]
USER_DATA 1 obj->vma_node.vm_node.start 0-s32max[c]
NO_OVERFLOW_SIMPLE 1 obj->base.dev->num_crtcs
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_total_plane
NO_OVERFLOW_SIMPLE 1 obj->dev->num_crtcs
NO_OVERFLOW_SIMPLE 1 obj->num_pages
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file->driver_priv->mutex
HALF_LOCKED2 &file->prime.lock
HALF_LOCKED2 1 &obj->dev->object_name_lock

drivers/gpu/drm/virtio/virtgpu_vram.c virtio_gpu_vram_map() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->dev 4096-ptr_max
PARAM_VALUE 1 obj->size 1-u64max
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &map_lock

drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_object_create() -> virtio_gpu_array_add_obj()

Type Parameter Key Value
PARAM_VALUE 0 objs 4096-ptr_max
PARAM_VALUE 0 objs->nents 0
PARAM_VALUE 0 objs->total 1
PARAM_VALUE 1 obj 4096-ptr_max
BUF_SIZE 0 objs 184-s32max
BUF_SIZE 0 objs 184-s32max
DATA_SOURCE 0 objs r virtio_gpu_array_alloc
RX_PATH
NOCHECK_CALL