Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a macro:
Defined in 1 files as a function:
Referenced in 3 files:
- drivers/iommu/dma-iommu.c, line 1710
- kernel/dma/direct.c, line 657
- kernel/dma/ops_helpers.c, line 48
Smatch caller information:
kernel/dma/ops_helpers.c dma_common_mmap() -> dma_mmap_from_dev_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cma_area->nranges | s32min-s32max |
| PARAM_VALUE | 0 | dev->flags | 4096-ptr_max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 4 | ret | 1869222525108903936 |
| PARAM_VALUE | 4 | *ret | (-6) |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma->vm_file | (-1)-s32max |
| BUF_SIZE | 1 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 1 | vma->vm_private_data | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| DATA_SOURCE | 0 | dev | $0 |
| DATA_SOURCE | 1 | vma | $1 |
| DATA_SOURCE | 2 | vaddr | $2 |
| DATA_SOURCE | 3 | size | $4 |
| NOSPEC | 1 | vma->vm_end | |
| NOSPEC | 1 | vma->vm_pgoff | |
| NOSPEC | 1 | vma->vm_start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | vma->pfnmap_track_ctx->pfn | 0-13510803177078779[c] |
| USER_DATA | 1 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 1 | vma->vm_end | 0-u64max |
| USER_DATA | 1 | vma->vm_pgoff | 0-4503599627370495[c] |
| USER_DATA | 1 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 3 | size | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| HALF_LOCKED2 | &dev->attach_lock | ||
| HALF_LOCKED2 | &fbi->mm_lock | ||
| HALF_LOCKED2 | &file->device->disassociate_srcu | ||
| HALF_LOCKED2 | &file->disassociation_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &info->mm_lock | ||
| HALF_LOCKED2 | &q->mutex |
drivers/iommu/dma-iommu.c iommu_dma_mmap() -> dma_mmap_from_dev_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cma_area->nranges | s32min-s32max |
| PARAM_VALUE | 0 | dev->flags | 4096-ptr_max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 4 | ret | 4348120509856526336 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma->vm_file | (-1)-s32max |
| BUF_SIZE | 1 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 1 | vma->vm_private_data | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| DATA_SOURCE | 0 | dev | $0 |
| DATA_SOURCE | 1 | vma | $1 |
| DATA_SOURCE | 2 | vaddr | $2 |
| DATA_SOURCE | 3 | size | $4 |
| NOSPEC | 1 | vma->vm_end | |
| NOSPEC | 1 | vma->vm_pgoff | |
| NOSPEC | 1 | vma->vm_start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | vma->pfnmap_track_ctx->pfn | 0-13510803177078779[c] |
| USER_DATA | 1 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 1 | vma->vm_end | 0-u64max |
| USER_DATA | 1 | vma->vm_pgoff | 0-4503599627370495[c] |
| USER_DATA | 1 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 3 | size | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 0 | dev | unit_byte |
| UNITS | 2 | vaddr | unit_byte |
| UNITS | 3 | size | unit_byte |
| HALF_LOCKED2 | &dev->attach_lock | ||
| HALF_LOCKED2 | &fbi->mm_lock | ||
| HALF_LOCKED2 | &file->device->disassociate_srcu | ||
| HALF_LOCKED2 | &file->disassociation_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &info->mm_lock | ||
| HALF_LOCKED2 | &q->mutex |
kernel/dma/direct.c dma_direct_mmap() -> dma_mmap_from_dev_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->cma_area->nranges | s32min-s32max |
| PARAM_VALUE | 0 | dev->dma_ops | 0 |
| PARAM_VALUE | 0 | dev->flags | 4096-ptr_max |
| PARAM_VALUE | 1 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 4 | ret | 3266713712092250112 |
| PARAM_VALUE | 4 | *ret | (-6) |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma | (-1),1-s32max |
| BUF_SIZE | 1 | vma->vm_file | (-1)-s32max |
| BUF_SIZE | 1 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 1 | vma->vm_private_data | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| BUF_SIZE | 2 | vaddr | (-1),1-s32max |
| DATA_SOURCE | 0 | dev | $0 |
| DATA_SOURCE | 1 | vma | $1 |
| DATA_SOURCE | 2 | vaddr | $2 |
| DATA_SOURCE | 3 | size | $4 |
| NOSPEC | 1 | vma->vm_end | |
| NOSPEC | 1 | vma->vm_pgoff | |
| NOSPEC | 1 | vma->vm_start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | vma->pfnmap_track_ctx->pfn | 0-13510803177078779[c] |
| USER_DATA | 1 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 1 | vma->vm_end | 0-u64max |
| USER_DATA | 1 | vma->vm_pgoff | 0-4503599627370495[c] |
| USER_DATA | 1 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 3 | size | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 1 | vma->vm_pgoff | |
| UNITS | 0 | dev | unit_byte |
| UNITS | 2 | vaddr | unit_byte |
| UNITS | 3 | size | unit_byte |
| HALF_LOCKED2 | &dev->attach_lock | ||
| HALF_LOCKED2 | &fbi->mm_lock | ||
| HALF_LOCKED2 | &file->device->disassociate_srcu | ||
| HALF_LOCKED2 | &file->disassociation_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &info->mm_lock | ||
| HALF_LOCKED2 | &q->mutex |