fuse: optional supplementary group in create requests
authorMiklos Szeredi <mszeredi@redhat.com>
Thu, 10 Nov 2022 14:46:33 +0000 (15:46 +0100)
committerMiklos Szeredi <mszeredi@redhat.com>
Thu, 26 Jan 2023 16:10:38 +0000 (17:10 +0100)
commit8ed7cb3f279fe67a93f407ee2ec3ea661a483a65
treecdce22c462eab384ddfa139affcedfd28b7e93c8
parent15d937d7ca8c55d2b0ce9116e20c780fdd0b67cc
fuse: optional supplementary group in create requests

Permission to create an object (create, mkdir, symlink, mknod) needs to
take supplementary groups into account.

Add a supplementary group request extension.  This can contain an arbitrary
number of group IDs and can be added to any request.  This extension is not
added to any request by default.

Add FUSE_CREATE_SUPP_GROUP init flag to enable supplementary group info in
creation requests.  This adds just a single supplementary group that
matches the parent group in the case described above.  In other cases the
extension is not added.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dir.c
fs/fuse/fuse_i.h
fs/fuse/inode.c
include/uapi/linux/fuse.h