Lines Matching refs:iov

129 			const struct iovec *iov = i->iov;	\
133 iov, (I)) \
134 i->nr_segs -= iov - i->iov; \
135 i->iov = iov; \
358 for (p = i->iov, skip = i->iov_offset; count; p++, skip = 0) { in fault_in_iov_iter_readable()
401 for (p = i->iov, skip = i->iov_offset; count; p++, skip = 0) { in fault_in_iov_iter_writeable()
419 const struct iovec *iov, unsigned long nr_segs, in iov_iter_init() argument
428 .iov = iov, in iov_iter_init()
872 const struct iovec *iov, *end; in iov_iter_iovec_advance() local
879 for (iov = i->iov, end = iov + i->nr_segs; iov < end; iov++) { in iov_iter_iovec_advance()
880 if (likely(size < iov->iov_len)) in iov_iter_iovec_advance()
882 size -= iov->iov_len; in iov_iter_iovec_advance()
885 i->nr_segs -= iov - i->iov; in iov_iter_iovec_advance()
886 i->iov = iov; in iov_iter_iovec_advance()
961 const struct iovec *iov = i->iov; in iov_iter_revert() local
963 size_t n = (--iov)->iov_len; in iov_iter_revert()
966 i->iov = iov; in iov_iter_revert()
983 return min(i->count, i->iov->iov_len - i->iov_offset); in iov_iter_single_seg_count()
1098 size_t len = i->iov[k].iov_len - skip; in iov_iter_aligned_iovec()
1104 if ((unsigned long)(i->iov[k].iov_base + skip) & addr_mask) in iov_iter_aligned_iovec()
1197 size_t len = i->iov[k].iov_len - skip; in iov_iter_alignment_iovec()
1199 res |= (unsigned long)i->iov[k].iov_base + skip; in iov_iter_alignment_iovec()
1276 if (i->iov[k].iov_len) { in iov_iter_gap_alignment()
1277 unsigned long base = (unsigned long)i->iov[k].iov_base; in iov_iter_gap_alignment()
1280 v = base + i->iov[k].iov_len; in iov_iter_gap_alignment()
1281 if (size <= i->iov[k].iov_len) in iov_iter_gap_alignment()
1283 size -= i->iov[k].iov_len; in iov_iter_gap_alignment()
1399 size_t len = i->iov[k].iov_len - skip; in first_iovec_segment()
1405 return (unsigned long)i->iov[k].iov_base + skip; in first_iovec_segment()
1617 for (p = i->iov; size; skip = 0, p++) { in iov_npages()
1694 return new->iov = kmemdup(new->iov, in dup_iter()
1701 static int copy_compat_iovec_from_user(struct iovec *iov, in copy_compat_iovec_from_user() argument
1723 iov[i].iov_base = compat_ptr(buf); in copy_compat_iovec_from_user()
1724 iov[i].iov_len = len; in copy_compat_iovec_from_user()
1733 static int copy_iovec_from_user(struct iovec *iov, in copy_iovec_from_user() argument
1738 if (copy_from_user(iov, uvec, nr_segs * sizeof(*uvec))) in copy_iovec_from_user()
1741 if ((ssize_t)iov[seg].iov_len < 0) in copy_iovec_from_user()
1752 struct iovec *iov = fast_iov; in iovec_from_user() local
1761 return iov; in iovec_from_user()
1765 iov = kmalloc_array(nr_segs, sizeof(struct iovec), GFP_KERNEL); in iovec_from_user()
1766 if (!iov) in iovec_from_user()
1771 ret = copy_compat_iovec_from_user(iov, uvec, nr_segs); in iovec_from_user()
1773 ret = copy_iovec_from_user(iov, uvec, nr_segs); in iovec_from_user()
1775 if (iov != fast_iov) in iovec_from_user()
1776 kfree(iov); in iovec_from_user()
1780 return iov; in iovec_from_user()
1789 struct iovec *iov; in __import_iovec() local
1791 iov = iovec_from_user(uvec, nr_segs, fast_segs, *iovp, compat); in __import_iovec()
1792 if (IS_ERR(iov)) { in __import_iovec()
1794 return PTR_ERR(iov); in __import_iovec()
1806 ssize_t len = (ssize_t)iov[seg].iov_len; in __import_iovec()
1808 if (!access_ok(iov[seg].iov_base, len)) { in __import_iovec()
1809 if (iov != *iovp) in __import_iovec()
1810 kfree(iov); in __import_iovec()
1817 iov[seg].iov_len = len; in __import_iovec()
1822 iov_iter_init(i, type, iov, nr_segs, total_len); in __import_iovec()
1823 if (iov == *iovp) in __import_iovec()
1826 *iovp = iov; in __import_iovec()
1862 struct iovec *iov, struct iov_iter *i) in import_single_range() argument
1869 iov->iov_base = buf; in import_single_range()
1870 iov->iov_len = len; in import_single_range()
1871 iov_iter_init(i, rw, iov, 1, len); in import_single_range()
1921 i->iov -= state->nr_segs - i->nr_segs; in iov_iter_restore()