Alessio Balsini 9253af9544 fuse/passthrough: API V2 with __u32 open argument
The initial FUSE passthrough interface has the issue of introducing an
ioctl which receives as a parameter a data structure containing a
pointer. What happens is that, depending on the architecture, the size
of this struct might change, and especially for 32-bit userspace running
on 64-bit kernel, the size mismatch results into different a single
ioctl the behavior of which depends on the data that is passed (e.g.,
with an enum). This is just a poor ioctl design as mentioned by Arnd
Bergmann [1].

Introduce the new FUSE_PASSTHROUGH_OPEN ioctl which only gets the fd of
the lower file system, which is a fixed-size __u32, dropping the
confusing fuse_passthrough_out data structure.

[1] https://lore.kernel.org/lkml/CAK8P3a2K2FzPvqBYL9W=Yut58SFXyetXwU4Fz50G5O3TsS0pPQ@mail.gmail.com/

Bug: 175195837
Signed-off-by: Alessio Balsini <balsini@google.com>
Change-Id: I486d71cbe20f3c0c87544fa75da4e2704fe57c7c
[cyberknight777: backport to 4.14]
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
Signed-off-by: Forenche <prahul2003@gmail.com>
Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
2024-05-30 01:26:07 -03:00
..
2023-08-23 14:54:21 +00:00
2022-06-30 14:15:41 +00:00
2023-11-28 17:35:00 +00:00
2023-09-30 11:44:35 +00:00
2023-09-30 11:44:35 +00:00
2024-04-18 20:06:32 -03:00
2020-09-11 11:23:08 -07:00
2023-09-30 11:44:35 +00:00
2020-05-20 12:15:34 +02:00
2024-04-18 20:06:32 -03:00
2024-03-26 00:32:02 -03:00
2023-01-18 09:32:42 +01:00
2024-03-26 00:32:02 -03:00
2021-12-14 10:16:55 +01:00
2024-03-26 00:32:02 -03:00
2022-02-23 12:10:45 +01:00
2023-01-18 09:32:42 +01:00