Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 19 files:

Smatch caller information:

net/rds/info.c rds_info_getsockopt() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 1266357494456262696
PARAM_VALUE 0 i->iter_type 0-1
PARAM_VALUE 1 maxpages s32max
RX_PATH

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

Type Parameter Key Value
PARAM_VALUE 0 i 4867578423391514624,7748150700857266176
PARAM_VALUE 1 maxpages s32max
DATA_SOURCE 0 i $1

block/bio-integrity.c bio_integrity_map_user() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 2053489065843576832,2054009744978411520
PARAM_VALUE 1 maxpages 257
DATA_SOURCE 0 i $1
RX_PATH
TASK_NOT_RUNNING

net/tls/tls_sw.c iov_iter_npages_cap() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 1 maxpages s32max
DATA_SOURCE 0 i $0
DATA_SOURCE 1 maxpages $1
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-u64max
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 sk

drivers/net/tap.c tap_get_user() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 1134071223711948800
PARAM_VALUE 1 maxpages s32max
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 1-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &vq->mutex

fs/direct-io.c __blockdev_direct_IO() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 1 maxpages s32max
DATA_SOURCE 0 i $3
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-u64max
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

block/blk-map.c bio_map_user_iov() -> iov_iter_npages()

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

fs/smb/client/smb2ops.c cifs_get_num_sgs() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 1 maxpages s32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &server->_srv_mutex

drivers/net/tun.c tun_get_user() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 3773387415123451904
PARAM_VALUE 1 maxpages s32max
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 1-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &vq->mutex

net/vmw_vsock/virtio_transport_common.c virtio_transport_can_zcopy() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->count 0-u32max
PARAM_VALUE 0 i->iov_offset 0
PARAM_VALUE 1 maxpages 17
BUF_SIZE 0 i 40
CAPPED_DATA 0 i->count 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

block/fops.c bio_iov_vecs_to_alloc() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->iter_type 0-1,3-255
PARAM_VALUE 1 maxpages 256-257
DATA_SOURCE 0 i $0
DATA_SOURCE 1 maxpages $1
NOSPEC 0 i->count
HARD_MAX 1 maxpages 257
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

fs/smb/smbdirect/mr.c smbdirect_connection_register_mr_io() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $1
RX_PATH
TASK_NOT_RUNNING

crypto/algif_hash.c hash_sendmsg() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 1 maxpages 0-16
CAPPED_DATA 1 maxpages 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-u64max
USER_DATA 0 i->iov_offset 0-u64max[c]
LOCK2 sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

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

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

fs/iomap/direct-io.c bio_iov_bounce_nr_vecs() -> iov_iter_npages()

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

fs/iomap/direct-io.c bio_iov_bounce_nr_vecs() -> iov_iter_npages()

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

fs/iomap/direct-io.c bio_iov_vecs_to_alloc() -> iov_iter_npages()

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

fs/ceph/file.c iter_get_bvecs_alloc() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->count 0-1000000000
PARAM_VALUE 1 maxpages s32max
DATA_SOURCE 0 i $0
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-1000000000[c]
USER_DATA 0 i->iov_offset 0-u64max[c]
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/netfs/iterator.c netfs_extract_user_iter() -> iov_iter_npages()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->iter_type 0-1
PARAM_VALUE 1 maxpages s32max
DATA_SOURCE 0 i $0
NOSPEC 0 i->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem

fs/fuse/file.c fuse_direct_io() -> iov_iter_npages()

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

fs/fuse/file.c fuse_direct_io() -> iov_iter_npages()

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