diff --git a/fs/fuse/file.c b/fs/fuse/file.c index f597f7e68e50..260dcaf35123 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -3295,6 +3295,9 @@ static ssize_t __fuse_copy_file_range(struct file *file_in, loff_t pos_in, fc->no_copy_file_range = 1; err = -EOPNOTSUPP; } + if (!err && outarg.size > len) + err = -EIO; + if (err) goto out;