diff options
Diffstat (limited to 'fs/splice.c')
-rw-r--r-- | fs/splice.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/splice.c b/fs/splice.c index da74583a00ee..bbd0aeb3f68e 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -844,7 +844,7 @@ generic_file_splice_write_nolock(struct pipe_inode_info *pipe, struct file *out, | |||
844 | ssize_t ret; | 844 | ssize_t ret; |
845 | int err; | 845 | int err; |
846 | 846 | ||
847 | err = remove_suid(out->f_dentry); | 847 | err = remove_suid(out->f_path.dentry); |
848 | if (unlikely(err)) | 848 | if (unlikely(err)) |
849 | return err; | 849 | return err; |
850 | 850 | ||
@@ -890,10 +890,10 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, | |||
890 | ssize_t ret; | 890 | ssize_t ret; |
891 | int err; | 891 | int err; |
892 | 892 | ||
893 | err = should_remove_suid(out->f_dentry); | 893 | err = should_remove_suid(out->f_path.dentry); |
894 | if (unlikely(err)) { | 894 | if (unlikely(err)) { |
895 | mutex_lock(&inode->i_mutex); | 895 | mutex_lock(&inode->i_mutex); |
896 | err = __remove_suid(out->f_dentry, err); | 896 | err = __remove_suid(out->f_path.dentry, err); |
897 | mutex_unlock(&inode->i_mutex); | 897 | mutex_unlock(&inode->i_mutex); |
898 | if (err) | 898 | if (err) |
899 | return err; | 899 | return err; |
@@ -1008,7 +1008,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, | |||
1008 | * randomly drop data for eg socket -> socket splicing. Use the | 1008 | * randomly drop data for eg socket -> socket splicing. Use the |
1009 | * piped splicing for that! | 1009 | * piped splicing for that! |
1010 | */ | 1010 | */ |
1011 | i_mode = in->f_dentry->d_inode->i_mode; | 1011 | i_mode = in->f_path.dentry->d_inode->i_mode; |
1012 | if (unlikely(!S_ISREG(i_mode) && !S_ISBLK(i_mode))) | 1012 | if (unlikely(!S_ISREG(i_mode) && !S_ISBLK(i_mode))) |
1013 | return -EINVAL; | 1013 | return -EINVAL; |
1014 | 1014 | ||
@@ -1132,7 +1132,7 @@ static long do_splice(struct file *in, loff_t __user *off_in, | |||
1132 | loff_t offset, *off; | 1132 | loff_t offset, *off; |
1133 | long ret; | 1133 | long ret; |
1134 | 1134 | ||
1135 | pipe = pipe_info(in->f_dentry->d_inode); | 1135 | pipe = pipe_info(in->f_path.dentry->d_inode); |
1136 | if (pipe) { | 1136 | if (pipe) { |
1137 | if (off_in) | 1137 | if (off_in) |
1138 | return -ESPIPE; | 1138 | return -ESPIPE; |
@@ -1153,7 +1153,7 @@ static long do_splice(struct file *in, loff_t __user *off_in, | |||
1153 | return ret; | 1153 | return ret; |
1154 | } | 1154 | } |
1155 | 1155 | ||
1156 | pipe = pipe_info(out->f_dentry->d_inode); | 1156 | pipe = pipe_info(out->f_path.dentry->d_inode); |
1157 | if (pipe) { | 1157 | if (pipe) { |
1158 | if (off_out) | 1158 | if (off_out) |
1159 | return -ESPIPE; | 1159 | return -ESPIPE; |
@@ -1321,7 +1321,7 @@ static long do_vmsplice(struct file *file, const struct iovec __user *iov, | |||
1321 | .ops = &user_page_pipe_buf_ops, | 1321 | .ops = &user_page_pipe_buf_ops, |
1322 | }; | 1322 | }; |
1323 | 1323 | ||
1324 | pipe = pipe_info(file->f_dentry->d_inode); | 1324 | pipe = pipe_info(file->f_path.dentry->d_inode); |
1325 | if (!pipe) | 1325 | if (!pipe) |
1326 | return -EBADF; | 1326 | return -EBADF; |
1327 | if (unlikely(nr_segs > UIO_MAXIOV)) | 1327 | if (unlikely(nr_segs > UIO_MAXIOV)) |
@@ -1549,8 +1549,8 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
1549 | static long do_tee(struct file *in, struct file *out, size_t len, | 1549 | static long do_tee(struct file *in, struct file *out, size_t len, |
1550 | unsigned int flags) | 1550 | unsigned int flags) |
1551 | { | 1551 | { |
1552 | struct pipe_inode_info *ipipe = pipe_info(in->f_dentry->d_inode); | 1552 | struct pipe_inode_info *ipipe = pipe_info(in->f_path.dentry->d_inode); |
1553 | struct pipe_inode_info *opipe = pipe_info(out->f_dentry->d_inode); | 1553 | struct pipe_inode_info *opipe = pipe_info(out->f_path.dentry->d_inode); |
1554 | int ret = -EINVAL; | 1554 | int ret = -EINVAL; |
1555 | 1555 | ||
1556 | /* | 1556 | /* |