Lines Matching refs:iovec

713 	struct iovec			fast_iov[UIO_FASTIOV];
715 struct iovec *free_iov;
722 struct iovec fast_iov[UIO_FASTIOV];
723 const struct iovec *free_iovec;
3170 static ssize_t io_compat_import(struct io_kiocb *req, struct iovec *iov, in io_compat_import()
3196 static ssize_t __io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, in __io_iov_buffer_select()
3199 struct iovec __user *uiov = u64_to_user_ptr(req->rw.addr); in __io_iov_buffer_select()
3217 static ssize_t io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, in io_iov_buffer_select()
3239 static int io_import_iovec(int rw, struct io_kiocb *req, struct iovec **iovec, in io_import_iovec() argument
3248 *iovec = NULL; in io_import_iovec()
3264 ret = import_single_range(rw, buf, sqe_len, *iovec, iter); in io_import_iovec()
3265 *iovec = NULL; in io_import_iovec()
3270 ret = io_iov_buffer_select(req, *iovec, needs_lock); in io_import_iovec()
3272 iov_iter_init(iter, rw, *iovec, 1, (*iovec)->iov_len); in io_import_iovec()
3273 *iovec = NULL; in io_import_iovec()
3277 return __import_iovec(rw, buf, sqe_len, UIO_FASTIOV, iovec, iter, in io_import_iovec()
3307 struct iovec iovec; in loop_rw_iter() local
3311 iovec = iov_iter_iovec(iter); in loop_rw_iter()
3313 iovec.iov_base = u64_to_user_ptr(req->rw.addr); in loop_rw_iter()
3314 iovec.iov_len = req->rw.len; in loop_rw_iter()
3318 nr = file->f_op->read(file, iovec.iov_base, in loop_rw_iter()
3319 iovec.iov_len, io_kiocb_ppos(kiocb)); in loop_rw_iter()
3321 nr = file->f_op->write(file, iovec.iov_base, in loop_rw_iter()
3322 iovec.iov_len, io_kiocb_ppos(kiocb)); in loop_rw_iter()
3339 if (nr != iovec.iov_len) in loop_rw_iter()
3346 static void io_req_map_rw(struct io_kiocb *req, const struct iovec *iovec, in io_req_map_rw() argument
3347 const struct iovec *fast_iov, struct iov_iter *iter) in io_req_map_rw()
3352 rw->free_iovec = iovec; in io_req_map_rw()
3357 if (!iovec) { in io_req_map_rw()
3367 sizeof(struct iovec) * iter->nr_segs); in io_req_map_rw()
3380 static int io_setup_async_rw(struct io_kiocb *req, const struct iovec *iovec, in io_setup_async_rw() argument
3381 const struct iovec *fast_iov, in io_setup_async_rw()
3390 kfree(iovec); in io_setup_async_rw()
3394 io_req_map_rw(req, iovec, fast_iov, iter); in io_setup_async_rw()
3405 struct iovec *iov = iorw->fast_iov; in io_rw_prep_async()
3516 struct iovec inline_vecs[UIO_FASTIOV], *iovec = inline_vecs; in io_read() local
3533 iovec = NULL; in io_read()
3535 ret = io_import_iovec(READ, req, &iovec, iter, !force_nonblock); in io_read()
3551 ret = io_setup_async_rw(req, iovec, inline_vecs, iter, true); in io_read()
3557 kfree(iovec); in io_read()
3587 ret2 = io_setup_async_rw(req, iovec, inline_vecs, iter, true); in io_read()
3591 iovec = NULL; in io_read()
3638 if (iovec) in io_read()
3639 kfree(iovec); in io_read()
3652 struct iovec inline_vecs[UIO_FASTIOV], *iovec = inline_vecs; in io_write() local
3664 iovec = NULL; in io_write()
3666 ret = io_import_iovec(WRITE, req, &iovec, iter, !force_nonblock); in io_write()
3737 ret = io_setup_async_rw(req, iovec, inline_vecs, iter, false); in io_write()
3747 if (iovec) in io_write()
3748 kfree(iovec); in io_write()
4738 struct iovec iov; in io_send()
4780 struct iovec __user *uiov; in __io_recvmsg_copy_hdr()
4839 ret = __import_iovec(READ, (struct iovec __user *)uiov, len, in __io_compat_recvmsg_copy_hdr()
4982 struct iovec iov; in io_recv()
8794 static int io_copy_iov(struct io_ring_ctx *ctx, struct iovec *dst, in io_copy_iov()
8797 struct iovec __user *src; in io_copy_iov()
8813 src = (struct iovec __user *) arg; in io_copy_iov()
8888 static int io_sqe_buffer_register(struct io_ring_ctx *ctx, struct iovec *iov, in io_sqe_buffer_register()
8994 static int io_buffer_validate(struct iovec *iov) in io_buffer_validate()
9024 struct iovec iov; in io_sqe_buffers_register()
9075 struct iovec iov, __user *iovs = u64_to_user_ptr(up->data); in __io_sqe_buffers_update()