• Home
  • Raw
  • Download

Lines Matching refs:iovec

716 	struct iovec			fast_iov[UIO_FASTIOV];
718 struct iovec *free_iov;
725 struct iovec fast_iov[UIO_FASTIOV];
726 const struct iovec *free_iovec;
3257 static ssize_t io_compat_import(struct io_kiocb *req, struct iovec *iov, in io_compat_import()
3283 static ssize_t __io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, in __io_iov_buffer_select()
3286 struct iovec __user *uiov = u64_to_user_ptr(req->rw.addr); in __io_iov_buffer_select()
3304 static ssize_t io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, in io_iov_buffer_select()
3326 static int io_import_iovec(int rw, struct io_kiocb *req, struct iovec **iovec, in io_import_iovec() argument
3335 *iovec = NULL; in io_import_iovec()
3351 ret = import_single_range(rw, buf, sqe_len, *iovec, iter); in io_import_iovec()
3352 *iovec = NULL; in io_import_iovec()
3357 ret = io_iov_buffer_select(req, *iovec, needs_lock); in io_import_iovec()
3359 iov_iter_init(iter, rw, *iovec, 1, (*iovec)->iov_len); in io_import_iovec()
3360 *iovec = NULL; in io_import_iovec()
3364 return __import_iovec(rw, buf, sqe_len, UIO_FASTIOV, iovec, iter, in io_import_iovec()
3397 struct iovec iovec; in loop_rw_iter() local
3401 iovec = iov_iter_iovec(iter); in loop_rw_iter()
3403 iovec.iov_base = u64_to_user_ptr(req->rw.addr); in loop_rw_iter()
3404 iovec.iov_len = req->rw.len; in loop_rw_iter()
3408 nr = file->f_op->read(file, iovec.iov_base, in loop_rw_iter()
3409 iovec.iov_len, ppos); in loop_rw_iter()
3411 nr = file->f_op->write(file, iovec.iov_base, in loop_rw_iter()
3412 iovec.iov_len, ppos); in loop_rw_iter()
3429 if (nr != iovec.iov_len) in loop_rw_iter()
3436 static void io_req_map_rw(struct io_kiocb *req, const struct iovec *iovec, in io_req_map_rw() argument
3437 const struct iovec *fast_iov, struct iov_iter *iter) in io_req_map_rw()
3442 rw->free_iovec = iovec; in io_req_map_rw()
3447 if (!iovec) { in io_req_map_rw()
3457 sizeof(struct iovec) * iter->nr_segs); in io_req_map_rw()
3470 static int io_setup_async_rw(struct io_kiocb *req, const struct iovec *iovec, in io_setup_async_rw() argument
3471 const struct iovec *fast_iov, in io_setup_async_rw()
3480 kfree(iovec); in io_setup_async_rw()
3484 io_req_map_rw(req, iovec, fast_iov, iter); in io_setup_async_rw()
3495 struct iovec *iov = iorw->fast_iov; in io_rw_prep_async()
3609 struct iovec inline_vecs[UIO_FASTIOV], *iovec = inline_vecs; in io_read() local
3627 iovec = NULL; in io_read()
3629 ret = io_import_iovec(READ, req, &iovec, iter, !force_nonblock); in io_read()
3645 ret = io_setup_async_rw(req, iovec, inline_vecs, iter, true); in io_read()
3653 kfree(iovec); in io_read()
3683 ret2 = io_setup_async_rw(req, iovec, inline_vecs, iter, true); in io_read()
3687 iovec = NULL; in io_read()
3734 if (iovec) in io_read()
3735 kfree(iovec); in io_read()
3748 struct iovec inline_vecs[UIO_FASTIOV], *iovec = inline_vecs; in io_write() local
3761 iovec = NULL; in io_write()
3763 ret = io_import_iovec(WRITE, req, &iovec, iter, !force_nonblock); in io_write()
3836 ret = io_setup_async_rw(req, iovec, inline_vecs, iter, false); in io_write()
3846 if (iovec) in io_write()
3847 kfree(iovec); in io_write()
4868 struct iovec iov; in io_send()
4921 struct iovec __user *uiov; in __io_recvmsg_copy_hdr()
4980 ret = __import_iovec(READ, (struct iovec __user *)uiov, len, in __io_compat_recvmsg_copy_hdr()
5139 struct iovec iov; in io_recv()
8964 static int io_copy_iov(struct io_ring_ctx *ctx, struct iovec *dst, in io_copy_iov()
8967 struct iovec __user *src; in io_copy_iov()
8983 src = (struct iovec __user *) arg; in io_copy_iov()
9058 static int io_sqe_buffer_register(struct io_ring_ctx *ctx, struct iovec *iov, in io_sqe_buffer_register()
9167 static int io_buffer_validate(struct iovec *iov) in io_buffer_validate()
9197 struct iovec iov; in io_sqe_buffers_register()
9248 struct iovec iov, __user *iovs = u64_to_user_ptr(up->data); in __io_sqe_buffers_update()