Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_ctor() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 size 0-4000000
PARAM_VALUE 3 hack 4096-ptr_max
BUF_SIZE 0 object (-1)-0,56
BUF_SIZE 0 object (-1)-0,56
BUF_SIZE 1 data 0-u32max
DATA_SOURCE 0 object $0
DATA_SOURCE 1 data r _kmalloc_noprof
STR_LEN 0 object (-1),6-11,13-17,19
STR_LEN 0 object (-1),6-11,13-17,19
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 object->map.size
UNITS 2 size unit_byte
HALF_LOCKED2 &file_priv->driver_priv->mutex
HALF_LOCKED2 &filp->driver_priv->mutex

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_dtor() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 0 object->client 1-u64max
PARAM_VALUE 0 object->client->object.priv->data 0
PARAM_VALUE 0 object->client->object.priv->obj_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 object->map.ptr 0
PARAM_VALUE 0 *object->client->object.priv->data (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 data 7619979999140499456
PARAM_VALUE 2 size 24
PARAM_VALUE 3 hack 0
BUF_SIZE 1 data 24
DATA_SOURCE 0 object $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 object->handle 0-u32max[u]
USER_DATA 0 object->oclass s32min-s32max[u]
NO_OVERFLOW_SIMPLE 0 object->map.size
UNITS 2 size unit_byte
HALF_LOCKED2 &filp->driver_priv->mutex

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_map_handle() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 size 48,51-52
PARAM_VALUE 3 hack 0
BUF_SIZE 1 data 48,51-52
DATA_SOURCE 0 object $0
DATA_SOURCE 1 data r _kzalloc_noprof
FUZZY_MAX 2 size 52
HARD_MAX 2 size 52
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &drm->ttm.io_reserve_mutex

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_mthd() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 1-u64max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 size 0-4000000
PARAM_VALUE 3 hack 0
BUF_SIZE 0 object (-1),56
BUF_SIZE 0 object (-1),56
BUF_SIZE 1 data 128-u32max
CAPPED_DATA 0 object 1
DATA_SOURCE 0 object $0
FUZZY_MAX 2 size 128
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 object->handle 0[u]
USER_DATA 0 object->oclass s32min-s32max[u]
UNITS 2 size unit_byte
HALF_LOCKED2 &drm->audio.lock
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &nv_encoder->dp.hpd_irq_lock
HALF_LOCKED2 &outp->dp.hpd_irq_lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 &svmm->mutex
HALF_LOCKED2 &uvmm->mutex

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_sclass_get() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 2 size 32
PARAM_VALUE 3 hack 0
BUF_SIZE 0 object (-1),56
BUF_SIZE 0 object (-1),56
BUF_SIZE 1 data 32
DATA_SOURCE 0 object $0
DATA_SOURCE 1 data r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &file_priv->driver_priv->mutex
HALF_LOCKED2 &filp->driver_priv->mutex

drivers/gpu/drm/nouveau/nvif/object.c nvif_object_unmap_handle() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 4055584889095147520
PARAM_VALUE 2 size 24
PARAM_VALUE 3 hack 0
BUF_SIZE 0 object->parent (-1),8
BUF_SIZE 1 data 24
CAPPED_DATA 0 object 1
DATA_SOURCE 0 object $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 object->handle 0-u32max[u]
USER_DATA 0 object->oclass s32min-s32max[u]
NO_OVERFLOW_SIMPLE 0 object->map.size
UNITS 2 size unit_byte
HALF_LOCKED2 &drm->ttm.io_reserve_mutex

drivers/gpu/drm/nouveau/nouveau_svm.c nouveau_atomic_range_fault() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 8640481119141978112
PARAM_VALUE 3 hack 0
BUF_SIZE 1 data 64
DATA_SOURCE 1 data $2
DATA_SOURCE 2 size $3
LOCK2 &svmm->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nouveau_svmm)->mutex

drivers/gpu/drm/nouveau/nouveau_svm.c nouveau_pfns_map() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 4096-ptr_max
PARAM_VALUE 3 hack 0
DATA_SOURCE 1 data r nouveau_pfns_to_args
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &svmm->mutex
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct nouveau_svmm)->mutex

drivers/gpu/drm/nouveau/nouveau_svm.c nouveau_range_fault() -> nvif_object_ioctl()

Type Parameter Key Value
PARAM_VALUE 0 object 4096-ptr_max
PARAM_VALUE 1 data 8640481119141978112
PARAM_VALUE 3 hack 0
BUF_SIZE 1 data 64
DATA_SOURCE 1 data $2
DATA_SOURCE 2 size $3
LOCK2 &svmm->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nouveau_svmm)->mutex