Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/drm_gem.c drm_gem_handle_create() -> drm_gem_handle_create_tail()

Type Parameter Key Value
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->object_name_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 obj->dev->object_name_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 1 obj->dev->object_name_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 obj->dev->object_name_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 obj->dev->object_name_lock.wait_lock.owner (-1)
PARAM_VALUE 1 obj->dev->object_name_lock.wait_lock.owner_cpu u32max
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 0,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 2 handlep 4096-ptr_max
BUF_SIZE 0 file_priv s32min-(-1),1-s32max
BUF_SIZE 0 file_priv s32min-(-1),1-s32max
BUF_SIZE 1 obj (-1),704
BUF_SIZE 1 obj (-1),704
BUF_SIZE 1 obj->funcs (-1),120
CAPPED_DATA 1 &obj->dev->object_name_lock 1
DATA_SOURCE 0 file_priv $0
DATA_SOURCE 1 obj $1
DATA_SOURCE 2 handlep $2
STR_LEN 1 obj->dev (-1),4
NOSPEC 1 obj->size
RX_PATH
TASK_NOT_RUNNING
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]
USER_DATA 2 *handlep 0-u32max
NO_OVERFLOW_SIMPLE 1 obj->base.dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 1 obj->base.dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 1 obj->base.dev->mode_config.num_total_plane
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
UNITS 0 file_priv unit_byte
USER_PTR 2 handlep
LOCK2 1 &obj->dev->object_name_lock
HALF_LOCKED2 &dev->clientlist_mutex
HALF_LOCKED2 &dev_priv->cmdbuf_mutex
HALF_LOCKED2 &fb_helper->lock
HALF_LOCKED2 &helper->lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &rdev->exclusive_lock
HALF_LOCKED2 &usr->qddev_lock
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 0 &file_priv->driver_priv->mutex
TYPE_LOCK (struct drm_device)->object_name_lock

drivers/gpu/drm/drm_gem.c drm_gem_open_ioctl() -> drm_gem_handle_create_tail()

Type Parameter Key Value
PARAM_VALUE 0 file_priv 4096-ptr_max
PARAM_VALUE 0 file_priv->master_lookup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 file_priv->minor 4096-ptr_max
PARAM_VALUE 0 file_priv->minor->dev 4096-ptr_max
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 2 handlep 8379768537584525312
BUF_SIZE 0 file_priv s32min-(-2),1-s32max
BUF_SIZE 0 file_priv s32min-(-2),1-s32max
DATA_SOURCE 0 file_priv $2
DATA_SOURCE 1 obj r idr_find
LOCK2 &dev->object_name_lock
TYPE_LOCK (struct drm_device)->object_name_lock

drivers/gpu/drm/drm_prime.c drm_gem_prime_fd_to_handle() -> drm_gem_handle_create_tail()

Type Parameter Key Value
PARAM_VALUE 0 file_priv 4096-ptr_max
PARAM_VALUE 0 file_priv->prime.lock.dep_map->name 0-255
PARAM_VALUE 0 file_priv->prime.lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 file_priv->prime.lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 file_priv->prime.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 file_priv->prime.lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 file_priv->prime.lock.wait_lock.owner (-1)
PARAM_VALUE 0 file_priv->prime.lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->dma_buf 1-u64max
PARAM_VALUE 1 obj->dma_buf->attachments.next 4096-ptr_max
PARAM_VALUE 2 handlep 4096-ptr_max
BUF_SIZE 0 file_priv s32min-(-1),1-s32max
BUF_SIZE 0 file_priv s32min-(-1),1-s32max
BUF_SIZE 1 obj (-1),16,24,40,48,56,72,80,112,120,136,168,184,224
BUF_SIZE 1 obj (-1),16,24,40,48,56,72,80,112,120,136,168,184,224
BUF_SIZE 1 obj->dma_buf s32min-(-1),1-s32max
CAPPED_DATA 0 &file_priv->prime.lock 1
CAPPED_DATA 1 obj->dma_buf 1
DATA_SOURCE 0 file_priv $1
DATA_SOURCE 2 handlep $3
USER_DATA 2 *handlep 0-u32max[u]
USER_PTR 2 handlep
LOCK2 &dev->object_name_lock
LOCK2 0 &file_priv->prime.lock
HALF_LOCKED2 &p->mutex
TYPE_LOCK (struct drm_device)->object_name_lock
TYPE_LOCK (struct drm_prime_file_private)->lock