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@xxxxxxxxxxx> --- 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())); }