Defined in 2 files as a function:
- include/linux/scatterlist.h, line 410 (as a function)
- tools/virtio/linux/scatterlist.h, line 156 (as a function)
Referenced in 35 files:
- arch/alpha/kernel/pci_iommu.c, line 641
- arch/arm/mm/dma-mapping.c
- arch/mips/jazz/jazzdma.c
- arch/powerpc/kernel/dma-iommu.c, line 45
- arch/powerpc/platforms/ps3/system-bus.c, line 647
- arch/sparc/mm/io-unit.c, line 176
- arch/sparc/mm/iommu.c, line 259
- arch/x86/kernel/amd_gart_64.c
- drivers/crypto/axis/artpec6_crypto.c, line 425
- drivers/firmware/arm_ffa/driver.c, line 789
- drivers/gpu/drm/msm/msm_iommu.c, line 188
- drivers/gpu/drm/rockchip/rockchip_drm_gem.c, line 107
- drivers/gpu/drm/virtio/virtgpu_object.c, line 204
- drivers/infiniband/hw/usnic/usnic_uiom.c
- drivers/iommu/dma-iommu.c
- drivers/iommu/iommu.c, line 2868
- drivers/misc/fastrpc.c, line 920
- drivers/mmc/host/au1xmmc.c
- drivers/nvme/host/apple.c, line 416
- drivers/parisc/ccio-dma.c, line 925
- drivers/parisc/iommu-helpers.h, line 70
- drivers/parisc/sba_iommu.c, line 962
- drivers/s390/scsi/zfcp_qdio.c, line 259
- drivers/scsi/qla2xxx/qla_iocb.c
- drivers/tee/optee/protmem.c, line 175
- drivers/tee/tee_heap.c, line 429
- drivers/virtio/virtio_ring.c
- drivers/xen/grant-dma-ops.c, line 264
- drivers/xen/swiotlb-xen.c, line 378
- include/trace/events/dma.h
- kernel/dma/debug.c
- kernel/dma/direct.c
- lib/scatterlist.c, line 486
- mm/kmsan/hooks.c, line 373
- sound/virtio/virtio_pcm_msg.c, line 104
Smatch caller information:
drivers/scsi/qla2xxx/qla_iocb.c qla24xx_walk_and_build_prot_sglist() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
| LOCK2 | flags | ||
| HALF_LOCKED2 | qpair->qp_lock_ptr |
drivers/scsi/qla2xxx/qla_iocb.c qla24xx_walk_and_build_prot_sglist() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
| LOCK2 | flags | ||
| HALF_LOCKED2 | qpair->qp_lock_ptr |
drivers/virtio/virtio_ring.c vring_map_one_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| DATA_SOURCE | 0 | sg | $1 |
drivers/virtio/virtio_ring.c vring_map_one_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| DATA_SOURCE | 0 | sg | $1 |
drivers/xen/swiotlb-xen.c xen_swiotlb_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/xen/grant-dma-ops.c xen_grant_dma_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/misc/fastrpc.c fastrpc_map_attach() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
drivers/iommu/dma-iommu.c iommu_dma_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
drivers/iommu/dma-iommu.c iommu_dma_map_sg_swiotlb() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 0,4-u64max |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | sg->dma_length | 0-2147483646[c] |
| HOST_DATA | 0 | sg->length | 0-2147483646[c] |
| NO_OVERFLOW_SIMPLE | 0 | sg->dma_length | |
| NO_OVERFLOW_SIMPLE | 0 | sg->length | |
| UNITS | 0 | sg | unit_byte |
drivers/tee/tee_heap.c protmem_pool_op_static_free() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
lib/scatterlist.c sg_alloc_append_table_from_pages() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/msm/msm_iommu.c msm_iommu_pagetable_map() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | &vm->mmu_lock |
arch/x86/kernel/amd_gart_64.c dma_map_sg_nonforce() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sg->dma_length | |
| NO_OVERFLOW_SIMPLE | 0 | sg->length |
arch/x86/kernel/amd_gart_64.c gart_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/dma/debug.c debug_dma_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | sg->dma_address | 0-18446744073709551614 |
| HOST_DATA | 0 | sg->length | 0,4096-u32max[c] |
| USER_DATA | 0 | sg->length | 0,4096-u32max[c] |
| UNITS | 0 | sg | unit_byte |
kernel/dma/debug.c debug_dma_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| NOSPEC | 0 | sg->length | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | sg->dma_address | 0-18446744073709551614 |
| HOST_DATA | 0 | sg->length | 0,4096-u32max[c] |
| USER_DATA | 0 | sg->length | 0,4096-u32max[c] |
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | __flags |
kernel/dma/debug.c debug_dma_sync_sg_for_cpu() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32 |
| BUF_SIZE | 0 | sg | (-1),32 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | &buffer->lock | ||
| HALF_LOCKED2 | &ccdc->ioctl_lock | ||
| HALF_LOCKED2 | &ctlr->io_mutex | ||
| HALF_LOCKED2 | &host->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &sport->port.lock | ||
| HALF_LOCKED2 | &stat->ioctl_lock | ||
| HALF_LOCKED2 | __flags | ||
| HALF_LOCKED2 | obj->resv |
kernel/dma/debug.c debug_dma_sync_sg_for_device() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32-10944 |
| BUF_SIZE | 0 | sg | (-1),32-10944 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sg->length | |
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | &bo->lock | ||
| HALF_LOCKED2 | &buffer->lock | ||
| HALF_LOCKED2 | &ccdc->ioctl_lock | ||
| HALF_LOCKED2 | &ctlr->io_mutex | ||
| HALF_LOCKED2 | &dbc->ch_lock | ||
| HALF_LOCKED2 | &dbc->req_lock | ||
| HALF_LOCKED2 | &host->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &priv->port.lock | ||
| HALF_LOCKED2 | &qdev->dev_lock | ||
| HALF_LOCKED2 | &sport->port.lock | ||
| HALF_LOCKED2 | &stat->ioctl_lock | ||
| HALF_LOCKED2 | &usr->qddev_lock | ||
| HALF_LOCKED2 | __flags | ||
| HALF_LOCKED2 | obj->resv |
kernel/dma/debug.c debug_dma_unmap_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | sg->dma_address | 0-18446744073709551614 |
| HOST_DATA | 0 | sg->length | 0,4096-u32max[c] |
| USER_DATA | 0 | sg->dma_address | 9223372036854788096-9223372036855042047[c] |
| USER_DATA | 0 | sg->length | 0,4096-u32max[c] |
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | __flags |
drivers/nvme/host/apple.c apple_nvme_print_sgl() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 0,4-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | ___flags | ||
| LOCK2 | global &once_lock | ||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/infiniband/hw/usnic/usnic_uiom.c usnic_uiom_get_pages() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| PARAM_VALUE | 0 | sg->length | 4096 |
| PARAM_VALUE | 0 | sg->offset | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
drivers/infiniband/hw/usnic/usnic_uiom.c usnic_uiom_map_sorted_intervals() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &pd->lock | ||
| TYPE_LOCK | (struct usnic_uiom_pd)->lock |
drivers/infiniband/hw/usnic/usnic_uiom.c usnic_uiom_put_pages() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pd->lock |
drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_object_shmem_init() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | &vgdev->obj_restore_lock |
drivers/iommu/iommu.c iommu_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| DATA_SOURCE | 0 | sg | $2 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | sg->length | |
| UNITS | 0 | sg | unit_byte |
| HALF_LOCKED2 | &tegra->mm_lock | ||
| HALF_LOCKED2 | _T->lock |
drivers/gpu/drm/rockchip/rockchip_drm_gem.c rockchip_gem_get_pages() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
sound/virtio/virtio_pcm_msg.c virtsnd_pcm_sg_from() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &runtime->buffer_mutex | ||
| TYPE_LOCK | (struct snd_pcm_runtime)->buffer_mutex |
kernel/dma/direct.c dma_direct_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |
kernel/dma/direct.c dma_direct_map_sg() -> sg_phys()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sg | 4096-ptr_max |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| BUF_SIZE | 0 | sg | (-1),32,64,4096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | sg | unit_byte |