From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anna Schumaker Subject: [PATCH v3 4/9] vfs: Copy should check len after file open mode Date: Fri, 25 Sep 2015 16:48:10 -0400 Message-ID: <1443214096-12769-5-git-send-email-Anna.Schumaker@Netapp.com> References: <1443214096-12769-1-git-send-email-Anna.Schumaker@Netapp.com> Mime-Version: 1.0 Content-Type: text/plain To: , , , , , , , , , , Return-path: In-Reply-To: <1443214096-12769-1-git-send-email-Anna.Schumaker@Netapp.com> Sender: linux-btrfs-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org I don't think it makes sense to report that a copy succeeded if the files aren't open properly. Signed-off-by: Anna Schumaker Reviewed-by: David Sterba --- fs/read_write.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/read_write.c b/fs/read_write.c index dd10750..f3d6c48 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -1345,9 +1345,6 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, if (flags) return -EINVAL; - if (len == 0) - return 0; - /* copy_file_range allows full ssize_t len, ignoring MAX_RW_COUNT */ ret = rw_verify_area(READ, file_in, &pos_in, len); if (ret >= 0) @@ -1378,6 +1375,9 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, if (inode_in == inode_out) return -EINVAL; + if (len == 0) + return 0; + ret = mnt_want_write_file(file_out); if (ret) return ret; -- 2.5.3