Defined in 1 files as a prototype:

Defined in 6 files as a function:

Referenced in 15 files:

Smatch caller information:

sound/core/memalloc.c snd_dma_noncontig_sync() -> flush_kernel_vmap_range()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 size unit_byte

drivers/gpu/drm/panthor/panthor_gem.c panthor_gem_prime_end_cpu_access() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 0 vaddr 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 vaddr unit_byte
UNITS 1 size unit_byte
LOCK2 obj->resv

drivers/dma-buf/heaps/system_heap.c system_heap_dma_buf_end_cpu_access() -> flush_kernel_vmap_range()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->lock
TYPE_LOCK (struct system_heap_buffer)->lock

drivers/gpu/drm/panfrost/panfrost_gem.c panfrost_gem_prime_end_cpu_access() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 0 vaddr 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 size unit_byte
LOCK2 obj->resv

drivers/md/dm-writecache.c persistent_memory_flush_cache() -> flush_kernel_vmap_range()

Type Parameter Key Value
DATA_SOURCE 0 vaddr $0
DATA_SOURCE 1 size $1
NOCHECK_CALL
UNITS 1 size unit_byte
HALF_LOCKED2 &wc->lock

block/bio.c bio_add_vmalloc_chunk() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 1 size 0-4096
CAPPED_DATA 1 size 1
DATA_SOURCE 0 vaddr $1
DATA_SOURCE 1 size $2 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 vaddr 4096-ptr_max[c][u]
USER_DATA 1 size 2-4096[c]
UNITS 0 vaddr unit_byte
UNITS 1 size unit_byte
USER_PTR 0 vaddr

drivers/md/dm-io.c dp_init() -> flush_kernel_vmap_range()

Type Parameter Key Value
BUF_SIZE 0 vaddr 1-s32max
DATA_SOURCE 1 size $2
BIT_INFO 1 size 0x0,0xfffffffffffffe00
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 vaddr unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wc->lock

drivers/md/dm-pcache/backing_dev.c bio_map() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 0 vaddr 4096-ptr_max
DATA_SOURCE 0 vaddr $1
DATA_SOURCE 1 size $2
NOCHECK_CALL
UNITS 0 vaddr unit_byte
UNITS 1 size unit_byte
LOCK2 &cache->writeback_lock
LOCK2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/dma-buf/heaps/cma_heap.c cma_heap_dma_buf_end_cpu_access() -> flush_kernel_vmap_range()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 size unit_byte
LOCK2 &buffer->lock
TYPE_LOCK (struct cma_heap_buffer)->lock

drivers/media/common/videobuf2/videobuf2-dma-contig.c vb2_dc_prepare() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 0 vaddr 1-u64max
BUF_SIZE 0 vaddr s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 vaddr unit_byte
UNITS 1 size unit_byte
HALF_LOCKED2 &mdev->req_queue_mutex
HALF_LOCKED2 vb->vb2_queue->lock

kernel/trace/ring_buffer.c rb_update_meta_page() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 0 vaddr 4096-ptr_max
PARAM_VALUE 1 size 4096
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 size unit_byte
LOCK2 &cpu_buffer->reader_lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct ring_buffer_per_cpu)->reader_lock

kernel/trace/ring_buffer.c ring_buffer_map_get_reader() -> flush_kernel_vmap_range()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 1 size unit_byte
LOCK2 &cpu_buffer->reader_lock
LOCK2 flags
TYPE_LOCK (struct ring_buffer_per_cpu)->reader_lock

drivers/usb/core/hcd.c usb_hcd_map_urb_for_dma() -> flush_kernel_vmap_range()

Type Parameter Key Value
PARAM_VALUE 1 size 0-s32max
BUF_SIZE 0 vaddr (-1),18
BUF_SIZE 0 vaddr (-1),18
RX_PATH
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
UNITS 0 vaddr unit_byte
UNITS 1 size unit_byte

fs/fuse/file.c fuse_get_user_pages() -> flush_kernel_vmap_range()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 size 0-s32max[c][u]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock