]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 21 Apr 2019 22:53:50 +0000 (18:53 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2020 09:20:05 +0000 (10:20 +0100)
commit 6b2daec19094a90435abe67d16fb43b1a5527254 upstream.

Unlike FICLONE, all of those take a pointer argument; they do need
compat_ptr() applied to arg.

Fixes: d79bdd52d8be ("vfs: wire up compat ioctl for CLONE/CLONE_RANGE")
Fixes: 54dbc1517237 ("vfs: hoist the btrfs deduplication ioctl to the vfs")
Fixes: ceac204e1da9 ("fs: make fiemap work from compat_ioctl")
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/compat_ioctl.c

index a7ec2d3dff9282bf6e8fbc2c29e2f8e0301efb39..e0226b2138d64829801f61b6d3e4bcd933d5a9d6 100644 (file)
@@ -1032,10 +1032,11 @@ COMPAT_SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd,
 #endif
 
        case FICLONE:
+               goto do_ioctl;
        case FICLONERANGE:
        case FIDEDUPERANGE:
        case FS_IOC_FIEMAP:
-               goto do_ioctl;
+               goto found_handler;
 
        case FIBMAP:
        case FIGETBSZ: