diff --git a/fs/shiftfs.c b/fs/shiftfs.c index cff617904ca6c..d9acba8174a1e 100644 --- a/fs/shiftfs.c +++ b/fs/shiftfs.c @@ -1417,7 +1417,7 @@ static int shiftfs_btrfs_ioctl_fd_restore(int cmd, int fd, void __user *arg, kfree(v1); kfree(v2); - return ret; + return ret ? -EFAULT: 0; } static int shiftfs_btrfs_ioctl_fd_replace(int cmd, void __user *arg, @@ -1494,6 +1494,7 @@ static int shiftfs_btrfs_ioctl_fd_replace(int cmd, void __user *arg, *b2 = v2; } else { shiftfs_btrfs_ioctl_fd_restore(cmd, *newfd, arg, v1, v2); + ret = -EFAULT; } return ret;