On Tue, Aug 28, 2007 at 03:49:51PM -0400, Trond Myklebust wrote: > Hmm... There has to be an implicit promise here that nobody else will > ever try to set ATTR_KILL_SUID/ATTR_KILL_SGID and ATTR_MODE at the same > time. Currently, that assumption is not there: > > > > if (ia_valid & ATTR_KILL_SGID) { > > attr->ia_valid &= ~ ATTR_KILL_SGID; > > if ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP)) { > > if (!(ia_valid & ATTR_MODE)) { > > ia_valid = attr->ia_valid |= ATTR_MODE; > > attr->ia_mode = inode->i_mode; > > } > > attr->ia_mode &= ~S_ISGID; > > } > > } > > Should we perhaps just convert the above 'if (!(ia_valid & ATTR_MODE))' > into a 'BUG_ON(ia_valid & ATTR_MODE)'? Yes, sounds fine to me. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html