Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

mm/madvise.c iter_iov_len() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 905764202780262400
PARAM_VALUE 0 iter->iter_type 1-255
DATA_SOURCE 0 iter $0

mm/madvise.c vector_madvise() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 905764202780262400
DATA_SOURCE 0 iter $1

lib/iov_iter.c fault_in_iov_iter_readable() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-18446744073709551614
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &vi->i_rwsem

lib/iov_iter.c fault_in_iov_iter_writeable() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &page_offline_rwsem

lib/iov_iter.c first_iovec_segment() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]

lib/iov_iter.c iov_iter_alignment_iovec() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3
BUF_SIZE 0 iter (-1)-0,40
BUF_SIZE 0 iter (-1)-0,40
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem

lib/iov_iter.c iov_iter_extract_bvecs() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]

lib/iov_iter.c iov_iter_gap_alignment() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 192091742437986304,994473194779484160,1619417322542931968,6944560901205405696
PARAM_VALUE 0 iter->iter_type 1
BUF_SIZE 0 iter (-1)-0,40
BUF_SIZE 0 iter (-1)-0,40
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-s32max[c]

lib/iov_iter.c iov_iter_iovec_advance() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3
BUF_SIZE 0 iter (-1),40
BUF_SIZE 0 iter (-1),40
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->count 0-4294967293,18446744071562067970-u64max[c]
HOST_DATA 0 iter->iov_offset 1-10737418235[c]
USER_DATA 0 iter->count 1-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &cache_seg->gen_lock
HALF_LOCKED2 &cache_subtree->tree_lock
HALF_LOCKED2 &cmd->lock
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &nsock->tx_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &queue->send_mutex
HALF_LOCKED2 &transport->recv_mutex
HALF_LOCKED2 &vq->mutex

lib/iov_iter.c iov_iter_iovec_advance() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3
BUF_SIZE 0 iter (-1),40
BUF_SIZE 0 iter (-1),40
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->count 0-4294967293,18446744071562067970-u64max[c]
HOST_DATA 0 iter->iov_offset 1-12884901882[c]
USER_DATA 0 iter->count 1-u64max
USER_DATA 0 iter->iov_offset 0-18446744073709551614[c]
HALF_LOCKED2 &cache_seg->gen_lock
HALF_LOCKED2 &cache_subtree->tree_lock
HALF_LOCKED2 &cmd->lock
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &nsock->tx_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &queue->send_mutex
HALF_LOCKED2 &transport->recv_mutex
HALF_LOCKED2 &vq->mutex

lib/iov_iter.c iov_iter_revert() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iov_offset 0-2147479551
PARAM_VALUE 0 iter->iter_type 1,3,7-255
BUF_SIZE 0 iter (-1),40
BUF_SIZE 0 iter (-1),40
CAPPED_DATA 0 iter->iov_offset 1
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->count 2-4294963199[c]
HOST_DATA 0 iter->iov_offset 1-2147479551[c]
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-2147479551[c]
HALF_LOCKED2 &conn->srv_mutex
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &server->_srv_mutex
HALF_LOCKED2 &tls_ctx->tx_lock
HALF_LOCKED2 &transport->recv_mutex
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
HALF_LOCKED2 sock->sk

lib/iov_iter.c iov_iter_single_seg_count() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &queue->send_mutex
HALF_LOCKED2 &tfile->napi_mutex

lib/iov_iter.c iov_npages() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->count 1-u64max
PARAM_VALUE 0 iter->iter_type 1,3
BUF_SIZE 0 iter (-1),40
BUF_SIZE 0 iter (-1),40
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
NOSPEC 0 iter->iov_offset
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->count 1-s32max[c]
HOST_DATA 0 iter->iov_offset 1-8589934588[c]
USER_DATA 0 iter->count 1-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &vq->mutex

lib/iov_iter.c iter_iov_len() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1-255
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max[c]
USER_DATA 0 iter->iov_offset 0-u64max[c]

net/core/datagram.c iter_iov_len() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
RX_PATH

net/core/datagram.c zerocopy_fill_skb_from_devmem() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 0-1
DATA_SOURCE 0 iter $1
RX_PATH

drivers/tee/tee_shm.c register_shm_helper() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4867578423391514624,7748150700857266176
DATA_SOURCE 0 iter $1

fs/read_write.c do_loop_readv_writev() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4279757847342735360,8935935780545683456
DATA_SOURCE 0 iter $1

fs/read_write.c do_loop_readv_writev() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4279757847342735360,8935935780545683456
DATA_SOURCE 0 iter $1

fs/read_write.c iter_iov_len() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4279757847342735360,8935935780545683456
PARAM_VALUE 0 iter->iter_type 1-255
DATA_SOURCE 0 iter $0

fs/btrfs/direct-io.c check_direct_read() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $1
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 1-1000000000
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

fs/btrfs/direct-io.c check_direct_read() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $1
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 1-1000000000
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

block/blk-map.c bio_alloc_map_data() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 978679771613659136
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-s32max[c]

block/blk-map.c bio_alloc_map_data() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 978679771613659136
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-s32max[c]

block/blk-map.c bio_alloc_map_data() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 978679771613659136
PARAM_VALUE 0 iter->iter_type 1
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-s32max[c]

drivers/infiniband/hw/hfi1/file_ops.c hfi1_write_iter() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 0-1
DATA_SOURCE 0 iter $1
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-18446744073709551614
USER_DATA 0 iter->iov_offset 0-u64max[c]
LOCK2 &fd->pq_srcu
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hfi1_filedata)->pq_srcu

io_uring/net.c io_bundle_nbufs() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1-255
RX_PATH
TASK_NOT_RUNNING

sound/core/pcm_native.c snd_pcm_readv() -> iter_iov()

Type Parameter Key Value
DATA_SOURCE 0 iter $1
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 1-1000000000
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

sound/core/pcm_native.c snd_pcm_writev() -> iter_iov()

Type Parameter Key Value
DATA_SOURCE 0 iter $1
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-18446744073709551614
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

drivers/net/tun.c tun_napi_alloc_frags() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
DATA_SOURCE 0 iter $2
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-18446744073709551614
USER_DATA 0 iter->iov_offset 0-u64max[c]
LOCK2 &tfile->napi_mutex
TYPE_LOCK (struct tun_file)->napi_mutex

drivers/vhost/scsi.c vhost_scsi_calc_sgls() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4275195661457571840,6099215618416902144
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 iter->count 0-s32max,18446744071562067970-u64max[c]
HOST_DATA 0 iter->iov_offset 1-10737418235[c]
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

io_uring/rw.c iter_iov_len() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3-255
DATA_SOURCE 0 iter $0
RX_PATH
TASK_NOT_RUNNING

io_uring/rw.c loop_rw_iter() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
PARAM_VALUE 0 iter->iter_type 1,3-255
DATA_SOURCE 0 iter $2
RX_PATH
TASK_NOT_RUNNING

fs/fuse/file.c fuse_get_user_addr() -> iter_iov()

Type Parameter Key Value
PARAM_VALUE 0 iter 4096-ptr_max
DATA_SOURCE 0 iter $0
NOSPEC 0 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 iter->count 0-u64max
USER_DATA 0 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock