ceph: rely on vfs for setgid stripping
authorYang Xu <xuyang2018.jy@fujitsu.com>
Thu, 14 Jul 2022 06:11:28 +0000 (14:11 +0800)
committerChristian Brauner (Microsoft) <brauner@kernel.org>
Thu, 21 Jul 2022 09:34:16 +0000 (11:34 +0200)
Now that we finished moving setgid stripping for regular files in setgid
directories into the vfs, individual filesystem don't need to manually
strip the setgid bit anymore. Drop the now unneeded code from ceph.

Link: https://lore.kernel.org/r/1657779088-2242-4-git-send-email-xuyang2018.jy@fujitsu.com
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Christian Brauner (Microsoft)<brauner@kernel.org>
Reviewed-and-Tested-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
fs/ceph/file.c

index da59e836a06eb7502c84ff0bb9d7a0f9e49a7b31..5a0266ea66ff6bf6618af581975aecf188648cf2 100644 (file)
@@ -657,10 +657,6 @@ static int ceph_finish_async_create(struct inode *dir, struct dentry *dentry,
                /* Directories always inherit the setgid bit. */
                if (S_ISDIR(mode))
                        mode |= S_ISGID;
-               else if ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP) &&
-                        !in_group_p(dir->i_gid) &&
-                        !capable_wrt_inode_uidgid(&init_user_ns, dir, CAP_FSETID))
-                       mode &= ~S_ISGID;
        } else {
                in.gid = cpu_to_le32(from_kgid(&init_user_ns, current_fsgid()));
        }