Defined in 1 files as a function:

Referenced in 20 files:

Smatch caller information:

net/rds/info.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 1266357494456262696
PARAM_VALUE 0 i->iter_type 0-1
DATA_SOURCE 0 i $0
RX_PATH

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

Type Parameter Key Value
PARAM_VALUE 0 i 1266357494456262696
RX_PATH

lib/iov_iter.c __iov_iter_get_pages_alloc() -> user_backed_iter()

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

lib/iov_iter.c _copy_from_iter() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $2
NOSPEC 0 i->count
NOSPEC 0 i->iov_offset
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 i->iov_offset 1-4294967294[c]
USER_DATA 0 i->count 0-u64max
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &conn->srv_mutex
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &kcm->tx_mutex
HALF_LOCKED2 &map->active.out_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 global &dax_srcu
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk
HALF_LOCKED2 sock->sk

lib/iov_iter.c _copy_mc_to_iter() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $2
NOSPEC 0 i->count
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &cache_seg->gen_lock
HALF_LOCKED2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &dax_srcu

lib/iov_iter.c _copy_to_iter() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
BUF_SIZE 0 i (-1),24,40,64,128,280,1024
BUF_SIZE 0 i (-1),24,40,64,128,280,1024
DATA_SOURCE 0 i $2
NOSPEC 0 i->count
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 i->count 0-u64max
USER_DATA 0 i->iov_offset 0-u64max[c]
UNITS 0 i unit_byte
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &call->user_mutex
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->vfs_inode.i_rwsem
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &map->active.in_mutex
HALF_LOCKED2 &pipe->mutex
HALF_LOCKED2 &sbefifo->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 global &dax_srcu
HALF_LOCKED2 global &page_offline_rwsem
HALF_LOCKED2 global &vmcore_cb_srcu
HALF_LOCKED2 sk

lib/iov_iter.c iov_iter_extract_pages() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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 &tls_ctx->tx_lock
HALF_LOCKED2 sk

lib/iov_iter.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->iter_type 0-5
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]

fs/nfs/direct.c nfs_file_direct_read() -> user_backed_iter()

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 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]

mm/shmem.c shmem_file_read_iter() -> user_backed_iter()

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 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

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

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

lib/tests/kunit_iov_iter.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 3048282000753262592,5160237283824492544,8463852778652590080,8677277146185875456,9014510593725669376
DATA_SOURCE 0 i $0

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

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
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

fs/direct-io.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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 &pool->lock

fs/fuse/dev.c fuse_dev_read() -> user_backed_iter()

Type Parameter Key Value
DATA_SOURCE 0 i $1
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 &pool->lock

fs/fuse/dev.c fuse_dev_write() -> user_backed_iter()

Type Parameter Key Value
DATA_SOURCE 0 i $1
NOSPEC 0 i->count
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

block/blk-map.c blk_rq_map_user_iov() -> user_backed_iter()

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

drivers/block/ublk_drv.c ublk_user_copy() -> user_backed_iter()

Type Parameter Key Value
DATA_SOURCE 0 i $1
NOSPEC 0 i->count
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

block/bio.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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]

crypto/af_alg.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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]
LOCK2 sk
HALF_LOCKED2 &vq->mutex

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

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

fs/netfs/direct_read.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->iter_type 0-1
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 &cinode->lock_sem
HALF_LOCKED2 &inode->i_rwsem

fs/netfs/direct_read.c netfs_unbuffered_read_iter_locked() -> user_backed_iter()

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 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &cinode->lock_sem
HALF_LOCKED2 &inode->i_rwsem

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

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 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

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

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

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

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

fs/smb/client/smb2ops.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &server->_srv_mutex

fs/gfs2/file.c should_fault_in_pages() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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 &pool->lock

block/fops.c __blkdev_direct_IO() -> user_backed_iter()

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

block/fops.c __blkdev_direct_IO_async() -> user_backed_iter()

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

block/fops.c __blkdev_direct_IO_simple() -> user_backed_iter()

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

crypto/algif_hash.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
PARAM_VALUE 0 i->iter_type 0-5
DATA_SOURCE 0 i $0
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]
LOCK2 sk
HALF_LOCKED2 &vq->mutex

fs/netfs/direct_write.c iov_iter_extract_will_pin() -> user_backed_iter()

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

fs/netfs/direct_write.c netfs_unbuffered_write_iter_locked() -> user_backed_iter()

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

fs/iomap/direct-io.c __iomap_dio_read_simple() -> user_backed_iter()

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 1-1000000000
USER_DATA 0 i->iov_offset 0-u64max[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/iomap/direct-io.c __iomap_dio_rw() -> user_backed_iter()

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-18446744073709551614
USER_DATA 0 i->iov_offset 0-u64max[c]

fs/ceph/file.c ceph_direct_read_write() -> user_backed_iter()

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 1-s32max
USER_DATA 0 i->iov_offset 0-u64max[c]
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

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

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]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/fuse/file.c iov_iter_extract_will_pin() -> user_backed_iter()

Type Parameter Key Value
PARAM_VALUE 0 i 4096-ptr_max
DATA_SOURCE 0 i $0
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 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock