Lines Matching refs:iov

175 			const struct iovec *iov, unsigned long nr_segs,  in iov_iter_init()  argument
183 .__iov = iov, in iov_iter_init()
524 const struct iovec *iov, *end; in iov_iter_iovec_advance() local
531 for (iov = iter_iov(i), end = iov + i->nr_segs; iov < end; iov++) { in iov_iter_iovec_advance()
532 if (likely(size < iov->iov_len)) in iov_iter_iovec_advance()
534 size -= iov->iov_len; in iov_iter_iovec_advance()
537 i->nr_segs -= iov - iter_iov(i); in iov_iter_iovec_advance()
538 i->__iov = iov; in iov_iter_iovec_advance()
655 const struct iovec *iov = iter_iov(i); in iov_iter_revert() local
657 size_t n = (--iov)->iov_len; in iov_iter_revert()
660 i->__iov = iov; in iov_iter_revert()
801 const struct iovec *iov = iter_iov(i); in iov_iter_alignment_iovec() local
807 size_t len = iov->iov_len - skip; in iov_iter_alignment_iovec()
809 res |= (unsigned long)iov->iov_base + skip; in iov_iter_alignment_iovec()
815 iov++; in iov_iter_alignment_iovec()
882 const struct iovec *iov = iter_iov(i) + k; in iov_iter_gap_alignment() local
883 if (iov->iov_len) { in iov_iter_gap_alignment()
884 unsigned long base = (unsigned long)iov->iov_base; in iov_iter_gap_alignment()
887 v = base + iov->iov_len; in iov_iter_gap_alignment()
888 if (size <= iov->iov_len) in iov_iter_gap_alignment()
890 size -= iov->iov_len; in iov_iter_gap_alignment()
1035 const struct iovec *iov = iter_iov(i) + k; in first_iovec_segment() local
1036 size_t len = iov->iov_len - skip; in first_iovec_segment()
1042 return (unsigned long)iov->iov_base + skip; in first_iovec_segment()
1239 static __noclone int copy_compat_iovec_from_user(struct iovec *iov, in copy_compat_iovec_from_user() argument
1262 iov[i].iov_base = compat_ptr(buf); in copy_compat_iovec_from_user()
1263 iov[i].iov_len = len; in copy_compat_iovec_from_user()
1272 static __noclone int copy_iovec_from_user(struct iovec *iov, in copy_iovec_from_user() argument
1292 iov->iov_base = buf; in copy_iovec_from_user()
1293 iov->iov_len = len; in copy_iovec_from_user()
1295 uiov++; iov++; in copy_iovec_from_user()
1308 struct iovec *iov = fast_iov; in iovec_from_user() local
1317 return iov; in iovec_from_user()
1321 iov = kmalloc_objs(struct iovec, nr_segs); in iovec_from_user()
1322 if (!iov) in iovec_from_user()
1327 ret = copy_compat_iovec_from_user(iov, uvec, nr_segs); in iovec_from_user()
1329 ret = copy_iovec_from_user(iov, uvec, nr_segs); in iovec_from_user()
1331 if (iov != fast_iov) in iovec_from_user()
1332 kfree(iov); in iovec_from_user()
1336 return iov; in iovec_from_user()
1346 struct iovec *iov = *iovp; in __import_iovec_ubuf() local
1352 ret = copy_compat_iovec_from_user(iov, uvec, 1); in __import_iovec_ubuf()
1354 ret = copy_iovec_from_user(iov, uvec, 1); in __import_iovec_ubuf()
1358 ret = import_ubuf(type, iov->iov_base, iov->iov_len, i); in __import_iovec_ubuf()
1370 struct iovec *iov; in __import_iovec() local
1375 iov = iovec_from_user(uvec, nr_segs, fast_segs, *iovp, compat); in __import_iovec()
1376 if (IS_ERR(iov)) { in __import_iovec()
1378 return PTR_ERR(iov); in __import_iovec()
1390 ssize_t len = (ssize_t)iov[seg].iov_len; in __import_iovec()
1392 if (!access_ok(iov[seg].iov_base, len)) { in __import_iovec()
1393 if (iov != *iovp) in __import_iovec()
1394 kfree(iov); in __import_iovec()
1401 iov[seg].iov_len = len; in __import_iovec()
1406 iov_iter_init(i, type, iov, nr_segs, total_len); in __import_iovec()
1407 if (iov == *iovp) in __import_iovec()
1410 *iovp = iov; in __import_iovec()