aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/splice.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-10-22 14:15:51 -0600
committerJens Axboe <axboe@kernel.dk>2020-10-22 14:15:51 -0600
commitee6e00c868221f5f7d0b6eb4e8379a148e26bc20 (patch)
tree9c35381d870a6fb2d147ded522d564cc96210e03 /include/linux/splice.h
parentio_uring: make loop_rw_iter() use original user supplied pointers (diff)
downloadlinux-dev-ee6e00c868221f5f7d0b6eb4e8379a148e26bc20.tar.xz
linux-dev-ee6e00c868221f5f7d0b6eb4e8379a148e26bc20.zip
splice: change exported internal do_splice() helper to take kernel offset
With the set_fs change, we can no longer rely on copy_{to,from}_user() accepting a kernel pointer, and it was bad form to do so anyway. Clean this up and change the internal helper that io_uring uses to deal with kernel pointers instead. This puts the offset copy in/out in __do_splice() instead, which just calls the same helper. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/splice.h')
-rw-r--r--include/linux/splice.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/splice.h b/include/linux/splice.h
index 5c47013f708e..a55179fd60fc 100644
--- a/include/linux/splice.h
+++ b/include/linux/splice.h
@@ -78,8 +78,8 @@ extern ssize_t add_to_pipe(struct pipe_inode_info *,
struct pipe_buffer *);
extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,
splice_direct_actor *);
-extern long do_splice(struct file *in, loff_t __user *off_in,
- struct file *out, loff_t __user *off_out,
+extern long do_splice(struct file *in, loff_t *off_in,
+ struct file *out, loff_t *off_out,
size_t len, unsigned int flags);
extern long do_tee(struct file *in, struct file *out, size_t len,