btrfs: send: return EOPNOTSUPP on unknown flags
authorDavid Sterba <dsterba@suse.com>
Wed, 10 Jan 2024 16:48:44 +0000 (17:48 +0100)
committerDavid Sterba <dsterba@suse.com>
Wed, 31 Jan 2024 07:42:30 +0000 (08:42 +0100)
When some ioctl flags are checked we return EOPNOTSUPP, like for
BTRFS_SCRUB_SUPPORTED_FLAGS, BTRFS_SUBVOL_CREATE_ARGS_MASK or fallocate
modes. The EINVAL is supposed to be for a supported but invalid
values or combination of options. Fix that when checking send flags so
it's consistent with the rest.

CC: stable@vger.kernel.org # 4.14+
Link: https://lore.kernel.org/linux-btrfs/CAL3q7H5rryOLzp3EKq8RTbjMHMHeaJubfpsVLF6H4qJnKCUR1w@mail.gmail.com/
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/send.c

index 2d7519a6ce72d3c58e70b1cb567258e642604a87..7902298c1f25bbee1586a97f2223f3c079e3a8fb 100644 (file)
@@ -8111,7 +8111,7 @@ long btrfs_ioctl_send(struct inode *inode, struct btrfs_ioctl_send_args *arg)
        }
 
        if (arg->flags & ~BTRFS_SEND_FLAG_MASK) {
-               ret = -EINVAL;
+               ret = -EOPNOTSUPP;
                goto out;
        }