diff options
-rw-r--r-- | fs/compat_ioctl.c | 4 | ||||
-rw-r--r-- | fs/read_write.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index dcf26537c935..70d4b104c08d 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c @@ -1580,6 +1580,10 @@ COMPAT_SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, goto out_fput; #endif + case FICLONE: + case FICLONERANGE: + goto do_ioctl; + case FIBMAP: case FIGETBSZ: case FIONREAD: diff --git a/fs/read_write.c b/fs/read_write.c index c75d02cb13ec..60ee26941231 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -1489,7 +1489,7 @@ int vfs_clone_file_range(struct file *file_in, loff_t pos_in, if (S_ISDIR(inode_in->i_mode) || S_ISDIR(inode_out->i_mode)) return -EISDIR; if (!S_ISREG(inode_in->i_mode) || !S_ISREG(inode_out->i_mode)) - return -EOPNOTSUPP; + return -EINVAL; if (!(file_in->f_mode & FMODE_READ) || !(file_out->f_mode & FMODE_WRITE) || |