diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-10-22 14:15:51 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-10-22 14:15:51 -0600 |
commit | ee6e00c868221f5f7d0b6eb4e8379a148e26bc20 (patch) | |
tree | 9c35381d870a6fb2d147ded522d564cc96210e03 /include | |
parent | 4017eb91a9e79bbb5d14868c207436f4a6a0af50 (diff) | |
download | lwn-ee6e00c868221f5f7d0b6eb4e8379a148e26bc20.tar.gz lwn-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')
-rw-r--r-- | include/linux/splice.h | 4 |
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, |