> From: Tarun Khandelwal <[email protected]>
> 
> fuse_fill_super_common() always sets SB_POSIXACL on the superblock, but
> fuse_fill_super_submount() never does. Submount superblocks are created
> from an fs_context with no sb_flags, so the superblock of an automounted
> FUSE_ATTR_SUBMOUNT directory (e.g. a virtiofs export containing another
> host mount) lacks SB_POSIXACL, even though it shares the fuse_conn, and
> thus fc->posix_acl, with its parent.
> 
> Since IS_POSIXACL() is false on such a submount, the VFS:
> 
>  - fails setting POSIX ACLs with -EOPNOTSUPP and hides existing ACLs,
>    without sending any request to the server;
>  - applies the umask itself on create, so default ACLs on the server are
>    not honoured for new files;
> [ ... ]
> reported by getfacl on the submount, and default ACLs and ACL-based
> access checks behave the same as on the root mount. Tested on v7.3-rc5
> in a QEMU guest.
> 
> Signed-off-by: Tarun Khandelwal <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1


Reply via email to