WSL2-Linux-Kernel/fs/fuse
Miklos Szeredi 62ee584032 fuse: ioctl: translate ENOSYS in outarg
commit 6a567e920f upstream.

Fuse shouldn't return ENOSYS from its ioctl implementation. If userspace
responds with ENOSYS it should be translated to ENOTTY.

There are two ways to return an error from the IOCTL request:

 - fuse_out_header.error
 - fuse_ioctl_out.result

Commit 02c0cab8e7 ("fuse: ioctl: translate ENOSYS") already fixed this
issue for the first case, but missed the second case.  This patch fixes the
second case.

Reported-by: Jonathan Katz <jkatz@eitmlabs.org>
Closes: https://lore.kernel.org/all/CALKgVmcC1VUV_gJVq70n--omMJZUb4HSh_FqvLTHgNBc+HCLFQ@mail.gmail.com/
Fixes: 02c0cab8e7 ("fuse: ioctl: translate ENOSYS")
Cc: <stable@vger.kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-27 08:46:54 +02:00
..
Kconfig virtiofs: implement dax read/write operations 2020-09-10 11:39:23 +02:00
Makefile fuse: move ioctl to separate source file 2021-04-12 15:04:30 +02:00
acl.c vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
control.c fuse: Remove the control interface for virtio-fs 2022-08-17 14:24:11 +02:00
cuse.c cuse: simplify refcount 2021-04-14 10:40:58 +02:00
dax.c \n 2021-08-30 10:24:50 -07:00
dev.c fuse: fix pipe buffer lifetime for direct_io 2022-03-16 14:23:42 +01:00
dir.c fuse: revalidate: don't invalidate if interrupted 2023-07-27 08:46:54 +02:00
file.c fuse: fix deadlock between atomic O_TRUNC and page invalidation 2023-04-26 13:51:54 +02:00
fuse_i.h fuse: fix pipe buffer lifetime for direct_io 2022-03-16 14:23:42 +01:00
inode.c fuse: limit nsec 2022-08-17 14:22:56 +02:00
ioctl.c fuse: ioctl: translate ENOSYS in outarg 2023-07-27 08:46:54 +02:00
readdir.c fuse: fix readdir cache race 2022-11-16 09:58:13 +01:00
virtio_fs.c fuse: clean up fuse_mount destruction 2021-10-21 10:01:39 +02:00
xattr.c fuse: extend FUSE_SETXATTR request 2021-04-14 10:40:57 +02:00