Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 9 files:
- drivers/accel/ivpu/ivpu_gem.c, line 161
- drivers/accel/qaic/qaic_data.c, line 933
- drivers/dma-buf/dma-buf.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c, line 1071
- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c, line 271
- drivers/gpu/drm/virtio/virtgpu_prime.c
- drivers/gpu/drm/xe/xe_bo.c
- drivers/iio/industrialio-buffer.c, line 1780
- drivers/infiniband/core/umem_dmabuf.c, line 109
Smatch caller information:
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_ttm_backend_unbind() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 1-u64max |
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | sg_table->nents | 2-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | sg_table->orig_nents |
drivers/iio/industrialio-buffer.c iio_buffer_attach_dmabuf() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->importer_priv | 4096-ptr_max |
| PARAM_VALUE | 1 | sg_table | 4096-ptr_max |
| PARAM_VALUE | 1 | sg_table->nents | 0 |
| PARAM_VALUE | 1 | sg_table->orig_nents | 0 |
| PARAM_VALUE | 2 | direction | 1-2 |
| BUF_SIZE | 0 | attach | 64 |
| BUF_SIZE | 0 | attach->importer_priv | 72 |
| DATA_SOURCE | 0 | attach | r dma_buf_attach |
| DATA_SOURCE | 1 | sg_table | r dma_buf_map_attachment |
| FUZZY_MAX | 2 | direction | 2 |
| HARD_MAX | 2 | direction | 2 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | attach->dmabuf->size | |
| LOCK2 | dmabuf->resv |
drivers/gpu/drm/virtio/virtgpu_prime.c virtgpu_dma_buf_import_sgt() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | sg_table | 4096-ptr_max |
| PARAM_VALUE | 1 | sg_table->nents | 0 |
| PARAM_VALUE | 1 | sg_table->orig_nents | 0 |
| PARAM_VALUE | 2 | direction | 0 |
| BUF_SIZE | 0 | attach | (-1),64 |
| BUF_SIZE | 0 | attach | (-1),64 |
| DATA_SOURCE | 0 | attach | $3 |
| DATA_SOURCE | 1 | sg_table | r dma_buf_map_attachment |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 1 | sg_table->nents | |
| LOCK2 | resv | ||
| HALF_LOCKED2 | &dev->object_name_lock | ||
| HALF_LOCKED2 | &file_priv->prime.lock |
drivers/gpu/drm/virtio/virtgpu_prime.c virtgpu_dma_buf_unmap() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf | 4096-ptr_max |
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | dmabuf->resv |
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c i915_gem_object_put_pages_dmabuf() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sg_table | 1-ptr_max |
| PARAM_VALUE | 2 | direction | 0 |
| DATA_SOURCE | 1 | sg_table | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | attach->dmabuf->size | |
| HALF_LOCKED2 | obj->base.resv |
drivers/accel/ivpu/ivpu_gem.c ivpu_bo_unbind_locked() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 1-u64max |
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | attach->dmabuf->size | |
| LOCK2 | &vdev->bo_list_lock | ||
| LOCK2 | bo->base.base.resv | ||
| HALF_LOCKED2 | &file_priv->lock | ||
| HALF_LOCKED2 | &vdev->context_list_lock | ||
| TYPE_LOCK | (struct ivpu_device)->bo_list_lock |
drivers/dma-buf/dma-buf.c dma_buf_unmap_attachment_unlocked() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.first_waiter | 0,4096-5159360019465732095,5159360019465732097-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | attach->dmabuf->resv->lock.base.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| BUF_SIZE | 0 | attach | (-1)-0,64 |
| BUF_SIZE | 0 | attach | (-1)-0,64 |
| DATA_SOURCE | 0 | attach | $0 |
| DATA_SOURCE | 1 | sg_table | $1 |
| DATA_SOURCE | 2 | direction | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | attach->dmabuf->size | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | sg_table->nents | |
| LOCK2 | 0 | attach->dmabuf->resv | |
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &dev->object_name_lock | ||
| HALF_LOCKED2 | &drm->object_name_lock | ||
| HALF_LOCKED2 | &file_priv->prime.lock | ||
| HALF_LOCKED2 | &priv->lock | ||
| HALF_LOCKED2 | &vde->map_lock |
drivers/gpu/drm/xe/xe_bo.c xe_bo_dma_unmap_pinned() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/gpu/drm/xe/xe_bo.c xe_bo_move_dmabuf() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 1 | sg_table->nents | |
| NO_OVERFLOW_SIMPLE | 1 | sg_table->orig_nents | |
| HALF_LOCKED2 | ttm_bo->base.resv |
drivers/gpu/drm/xe/xe_bo.c xe_bo_move_dmabuf() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| BUF_SIZE | 1 | sg_table | (-1),16 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | attach->dmabuf->size | |
| NO_OVERFLOW_SIMPLE | 1 | sg_table->nents | |
| NO_OVERFLOW_SIMPLE | 1 | sg_table->orig_nents | |
| HALF_LOCKED2 | ttm_bo->base.resv |
drivers/gpu/drm/xe/xe_bo.c xe_ttm_bo_delete_mem_notify() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | ttm_bo->base.resv |
drivers/infiniband/core/umem_dmabuf.c ib_umem_dmabuf_unmap_pages() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 4096-ptr_max |
| PARAM_VALUE | 0 | attach->dmabuf | 4096-ptr_max |
| PARAM_VALUE | 1 | sg_table | 1-u64max |
| PARAM_VALUE | 2 | direction | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | 0 | attach->dmabuf->resv |
drivers/accel/qaic/qaic_data.c qaic_unprepare_import_bo() -> dma_buf_unmap_attachment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | attach | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | attach->dmabuf->size | |
| LOCK2 | &bo->lock | ||
| HALF_LOCKED2 | &dbc->ch_lock | ||
| HALF_LOCKED2 | &qdev->dev_lock | ||
| HALF_LOCKED2 | &usr->qddev_lock | ||
| TYPE_LOCK | (struct qaic_bo)->lock |