Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

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