Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

lib/iov_iter.c __import_iovec() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 1 direction 0-1
PARAM_VALUE 2 iov 0-ptr_max
PARAM_VALUE 3 nr_segs 0,2-1024
BUF_SIZE 2 iov (-1),16-16384
BUF_SIZE 2 iov (-1),16-16384
CAPPED_DATA 3 nr_segs 1
DATA_SOURCE 0 i $5
DATA_SOURCE 1 direction $0
DATA_SOURCE 2 iov r iovec_from_user
DATA_SOURCE 3 nr_segs $2
NOSPEC 3 nr_segs
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 nr_segs 0,2-1024[c]
UNITS 3 nr_segs unit_byte
HALF_LOCKED2 &ctx->uring_lock

drivers/vhost/vhost.c get_indirect() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4326463889905065984
PARAM_VALUE 1 direction 1
PARAM_VALUE 3 nr_segs 0-s32max
CAPPED_DATA 4 count 1
DATA_SOURCE 3 nr_segs r translate_desc
DATA_SOURCE 4 count r vhost32_to_cpu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 4 count 0-u32max[c]
USER_DATA 4 count 0-u32max[c]
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_copy_from_user() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 5945541584224477184
PARAM_VALUE 1 direction 1
PARAM_VALUE 3 nr_segs 0-s32max
PARAM_VALUE 4 count 16
BUF_SIZE 2 iov 1024
DATA_SOURCE 3 nr_segs r translate_desc
DATA_SOURCE 4 count $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_copy_to_user() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 9112891762638348288
PARAM_VALUE 1 direction 0
PARAM_VALUE 3 nr_segs 0-s32max
BUF_SIZE 2 iov 1024
CAPPED_DATA 4 count 1
DATA_SOURCE 3 nr_segs r translate_desc
DATA_SOURCE 4 count $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vq->mutex

drivers/vhost/vringh.c copy_from_iotlb() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 9184928490013982720
PARAM_VALUE 1 direction 1
PARAM_VALUE 3 nr_segs 1-s32max
NOCHECK_CALL

drivers/vhost/vringh.c copy_to_iotlb() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 561911438965960704
PARAM_VALUE 1 direction 0
PARAM_VALUE 3 nr_segs 1-s32max
NOCHECK_CALL

drivers/fsi/fsi-sbefifo.c sbefifo_user_read() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 6353765128256086016
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 910371942291525632
PARAM_VALUE 3 nr_segs 1
PARAM_VALUE 4 count 0-1000000000,2147479552
DATA_SOURCE 4 count $2
FUZZY_MAX 4 count 2147479552
BIT_INFO 4 count 0x0,0x7ffffffc
BIT_INFO 4 count 0x0,0x7ffffffc
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-1000000000
USER_DATA 4 count 0-1000000000
LOCK2 &user->file_lock
TYPE_LOCK (struct sbefifo_user)->file_lock

drivers/net/ppp/ppp_generic.c ppp_read() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4919810858291347456
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 1487806108612141056
PARAM_VALUE 3 nr_segs 1
PARAM_VALUE 4 count 0-1000000000,2147479552
DATA_SOURCE 4 count $2
FUZZY_MAX 4 count 2147479552
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-1000000000
USER_DATA 4 count 0-1000000000
UNITS 4 count unit_byte

drivers/acpi/pfr_update.c pfru_write() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 9171719215284158464
PARAM_VALUE 1 direction 1
PARAM_VALUE 2 iov 225399883685109760
PARAM_VALUE 3 nr_segs 1
PARAM_VALUE 4 count 0-1000000000,2147479552
CAPPED_DATA 4 count 1
CAPPED_DATA 4 count 1
DATA_SOURCE 4 count $2
FUZZY_MAX 4 count 2147479552
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-1000000000[c]
USER_DATA 4 count 0-1000000000[c]

fs/seq_file.c seq_read() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 2511125782718840832
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 8438245099990446080
PARAM_VALUE 3 nr_segs 1
PARAM_VALUE 4 count 0-1000000000,2147479552
DATA_SOURCE 4 count $2
FUZZY_MAX 4 count 2147479552
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-1000000000
USER_DATA 4 count 0-1000000000

drivers/vhost/net.c handle_rx() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 677290564554768
PARAM_VALUE 1 direction 0
PARAM_VALUE 3 nr_segs 1
PARAM_VALUE 4 count 1
BUF_SIZE 2 iov 16384
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c handle_rx() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 677290564554768
PARAM_VALUE 1 direction 0
BUF_SIZE 2 iov 16384
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/net.c init_iov_iter() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4386511803419406352,6841281207476211728
PARAM_VALUE 1 direction 1
PARAM_VALUE 3 nr_segs 0-s32max,18446744071562067968-u64max
BUF_SIZE 2 iov 16384
CAPPED_DATA 3 nr_segs 1
DATA_SOURCE 0 i $1
DATA_SOURCE 3 nr_segs $3
DATA_SOURCE 4 count r iov_length
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

io_uring/net.c io_recv_buf_select() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 1 direction 0
PARAM_VALUE 3 nr_segs 0,2-s32max
DATA_SOURCE 3 nr_segs r io_buffers_peek
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 4 count

io_uring/net.c io_send_select_buffer() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 1 direction 1
PARAM_VALUE 3 nr_segs 0,2-s32max
DATA_SOURCE 3 nr_segs r io_buffers_select
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 4 count

drivers/vhost/vsock.c vhost_transport_do_send_pkt() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 3788786165930684416
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 4096-ptr_max
PARAM_VALUE 4 count 44-u64max
BUF_SIZE 2 iov 16384
CAPPED_DATA 3 nr_segs 1
DATA_SOURCE 4 count r iov_length
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vsock.c vhost_vsock_alloc_skb() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 813215126194999296
PARAM_VALUE 1 direction 1
PARAM_VALUE 4 count 44-65580
BUF_SIZE 2 iov 16384
CAPPED_DATA 3 nr_segs 1
CAPPED_DATA 4 count 1
CAPPED_DATA 4 count 1
DATA_SOURCE 3 nr_segs $1
DATA_SOURCE 4 count r iov_length
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

fs/fuse/ioctl.c fuse_do_ioctl() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4512535879257411584
PARAM_VALUE 1 direction 1
PARAM_VALUE 2 iov 0,4096-ptr_max
PARAM_VALUE 3 nr_segs 0-256
PARAM_VALUE 4 count 1-u64max
BUF_SIZE 2 iov 0,4096
BUF_SIZE 2 iov 0,4096
CAPPED_DATA 3 nr_segs 1
DATA_SOURCE 4 count r iov_length
FUZZY_MAX 3 nr_segs 1
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-16383[c]

fs/fuse/ioctl.c fuse_do_ioctl() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4512535879257411584
PARAM_VALUE 1 direction 0
PARAM_VALUE 3 nr_segs 0-256
PARAM_VALUE 4 count 0-u32max
BUF_SIZE 2 iov 0,4096,u64max
BUF_SIZE 2 iov 0,4096,u64max
CAPPED_DATA 3 nr_segs 1
CAPPED_DATA 4 count 1
DATA_SOURCE 4 count r fuse_send_ioctl
FUZZY_MAX 3 nr_segs 1
NOCHECK_CALL
USER_DATA 2 iov->iov_len 0-16383[c]
UNITS 4 count unit_byte

drivers/vhost/scsi.c vhost_scsi_complete_cmd_work() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 7101051262575710208
PARAM_VALUE 1 direction 0
PARAM_VALUE 4 count 108
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 3 nr_segs unit_array_size
UNITS 4 count unit_byte
LOCK2 &svq->vq.mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_get_desc() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 559487409486639176,5828244295369908296
PARAM_VALUE 1 direction 1
PARAM_VALUE 2 iov 4096-ptr_max
BUF_SIZE 2 iov 16384
DATA_SOURCE 4 count r iov_length
MEM_ZERO 0 i
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_handle_vq() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 6159719202867474432
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 4096-ptr_max
PARAM_VALUE 4 count 108-4294967403
BUF_SIZE 2 iov 16384
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_send_an_resp() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 5070997358070403072
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 4096-ptr_max
PARAM_VALUE 4 count 5
BUF_SIZE 2 iov 16384
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_send_bad_target() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 2369761774671327232
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 4096-ptr_max
PARAM_VALUE 4 count 1,5,108
BUF_SIZE 2 iov 16384
FUZZY_MAX 4 count 108
BIT_INFO 4 count 0x0,0x6d
BIT_INFO 4 count 0x0,0x6d
HARD_MAX 4 count 108
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_send_status() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 789066928834891776
PARAM_VALUE 1 direction 0
PARAM_VALUE 4 count 108
NOCHECK_CALL
UNITS 4 count unit_byte

drivers/vhost/scsi.c vhost_scsi_send_tmf_resp() -> iov_iter_init()

Type Parameter Key Value
PARAM_VALUE 0 i 4804368940871233536
PARAM_VALUE 1 direction 0
PARAM_VALUE 2 iov 4096-ptr_max
PARAM_VALUE 3 nr_segs 0-s32max,18446744071562067968-u64max
PARAM_VALUE 4 count 1
BUF_SIZE 2 iov (-1),16384
BUF_SIZE 2 iov (-1),16384
DATA_SOURCE 2 iov $4
DATA_SOURCE 3 nr_segs $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 4 count unit_byte
HALF_LOCKED2 &tmf->svq->vq.mutex
HALF_LOCKED2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex