]> err.no Git - linux-2.6/commitdiff
[JFFS2] Don't strip sgid bit from inode permissions
authorDavid Woodhouse <dwmw2@infradead.org>
Thu, 1 Nov 2007 20:27:38 +0000 (16:27 -0400)
committerDavid Woodhouse <dwmw2@infradead.org>
Thu, 1 Nov 2007 20:27:38 +0000 (16:27 -0400)
<viro> dwmw2: anyway, removing sgid from directories or from
       files without S_IXGRP is a plain and simple bug
<viro> these days you don't need that logics at all - simply remove it

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
fs/jffs2/fs.c

index d2e06f7ea96fdff2eac4a3c683c026e5c5d9fac6..ee192af0b8b00a5bdffc766d12dfa66ae8739f6e 100644 (file)
@@ -97,11 +97,7 @@ int jffs2_do_setattr (struct inode *inode, struct iattr *iattr)
        ri->gid = cpu_to_je16((ivalid & ATTR_GID)?iattr->ia_gid:inode->i_gid);
 
        if (ivalid & ATTR_MODE)
-               if (iattr->ia_mode & S_ISGID &&
-                   !in_group_p(je16_to_cpu(ri->gid)) && !capable(CAP_FSETID))
-                       ri->mode = cpu_to_jemode(iattr->ia_mode & ~S_ISGID);
-               else
-                       ri->mode = cpu_to_jemode(iattr->ia_mode);
+               ri->mode = cpu_to_jemode(iattr->ia_mode);
        else
                ri->mode = cpu_to_jemode(inode->i_mode);