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-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to