lkml.org 
[lkml]   [2009]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [Patch 1/2] selinux: ajust rules for ATTR_FORCE
From
Date
On Tue, 2009-08-18 at 16:39 +0900, OGAWA Hirofumi wrote:
> [Sorry if this killed thread. My ISP seems to be stopping email server
> now. I've read this email from web archive.]
>
> >> @@ -2711,12 +2711,17 @@ static int selinux_inode_permission(stru
> >> static int selinux_inode_setattr(struct dentry *dentry, struct iattr *iattr)
> >> {
> >> const struct cred *cred = current_cred();
> >> + unsigned int ia_valid = iattr->ia_valid;
> >>
> >> - if (iattr->ia_valid & ATTR_FORCE)
> >> - return 0;
> >> + /* ATTR_FORCE is just used for ATTR_KILL_S[UG]ID. */
> >> + if (ia_valid & ATTR_FORCE) {
> >> + ia_valid &= ~(ATTR_KILL_SUID | ATTR_KILL_SGID | ATTR_MODE);
> >> + if (!ia_valid)
> >> + return 0;
> >>
> >
> > So if I read this correctly, (ATTR_FORCE| ATTR_KILL_SUID|ATTR_MODE) will
> > not return here, since 'ia_valid' will be ATTR_FORCE finally.
> >
> > I think you forgot to clear ATTR_FORCE here...
>
> Whoops, good catch. Fortunately, it doesn't seem to have actual problem,
> but it's bug obviously, and sorry for that. Fixed patch was attached.

You can add my:
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>

--
Stephen Smalley
National Security Agency



\
 
 \ /
  Last update: 2009-08-18 14:15    [W:0.101 / U:0.868 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site