Commit ea124ec3 authored by Caleb Sander Mateos's avatar Caleb Sander Mateos Committed by David Sterba
Browse files

btrfs: don't skip accounting in early ENOTTY return in btrfs_uring_encoded_read()



btrfs_uring_encoded_read() returns early with -ENOTTY if the uring_cmd
is issued with IO_URING_F_COMPAT but the kernel doesn't support compat
syscalls. However, this early return bypasses the syscall accounting.
Go to out_acct instead to ensure the syscall is counted.

Fixes: 34310c44 ("btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)")
CC: stable@vger.kernel.org # 6.15+
Signed-off-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 9950c31a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4825,7 +4825,8 @@ static int btrfs_uring_encoded_read(struct io_uring_cmd *cmd, unsigned int issue
#if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
		copy_end = offsetofend(struct btrfs_ioctl_encoded_io_args_32, flags);
#else
		return -ENOTTY;
		ret = -ENOTTY;
		goto out_acct;
#endif
	} else {
		copy_end = copy_end_kernel;