Re: [PATCH v3 7/7] ceph: Remove S_ISGID clear code in ceph_finish_async_create

Xiubo Li
2022-04-18T03:04:33Z

On 4/15/22 7:02 PM, Yang Xu wrote:
> Since vfs has stripped S_ISGID, we don't need this code any more.
>
> Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
> ---
> fs/ceph/file.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/fs/ceph/file.c b/fs/ceph/file.c
> index 6c9e837aa1d3..8e3b99853333 100644
> --- a/fs/ceph/file.c
> +++ b/fs/ceph/file.c
> @@ -651,10 +651,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;

Could you point me where has done this for ceph ?

-- Xiubo

> } else {
> in.gid = cpu_to_le32(from_kgid(&init_user_ns, current_fsgid()));
> }