lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1224003991.3089.65.camel@localhost.localdomain>
Date:	Tue, 14 Oct 2008 13:06:31 -0400
From:	david safford <safford@...son.ibm.com>
To:	"Serge E. Hallyn" <serue@...ibm.com>
Cc:	Christoph Hellwig <hch@...radead.org>,
	Mimi Zohar <zohar@...ux.vnet.ibm.com>,
	linux-kernel@...r.kernel.org, James Morris <jmorris@...ei.org>,
	Serge Hallyn <serue@...ux.vnet.ibm.com>,
	Mimi Zohar <zohar@...ibm.com>
Subject: Re: [PATCH 2/3] integrity: Linux Integrity Module(LIM)

On Tue, 2008-10-14 at 10:53 -0500, Serge E. Hallyn wrote:
> Quoting david safford (safford@...son.ibm.com):
> > On Tue, 2008-10-14 at 09:28 -0400, Christoph Hellwig wrote:
> > > >  int vfs_permission(struct nameidata *nd, int mask)
> > > >  {
> > > > -	return inode_permission(nd->path.dentry->d_inode, mask);
> > > > +	int retval;
> > > > +
> > > > +	retval = inode_permission(nd->path.dentry->d_inode, mask);
> > > > +	if (retval)
> > > > +		return retval;
> > > > +	return integrity_inode_permission(NULL, &nd->path,
> > > > +					  mask & (MAY_READ | MAY_WRITE |
> > > > +						  MAY_EXEC));
> > > >  }
> > > >  
> > > >  /**
> > > > @@ -306,7 +314,14 @@ int vfs_permission(struct nameidata *nd, int mask)
> > > >   */
> > > >  int file_permission(struct file *file, int mask)
> > > >  {
> > > > -	return inode_permission(file->f_path.dentry->d_inode, mask);
> > > > +	int retval;
> > > > +
> > > > +	retval = inode_permission(file->f_path.dentry->d_inode, mask);
> > > > +	if (retval)
> > > > +		return retval;
> > > > +	return integrity_inode_permission(file, NULL,
> > > > +					  mask & (MAY_READ | MAY_WRITE |
> > > > +						  MAY_EXEC));
> > > 
> > > Please don't add anything here as these two wrappers will go away.
> > > Please only make decisions based on what you get in inode_permission().
> > 
> > Hmm... As Mimi mentioned in the last review, we really need access
> > to a path, which is not available in inode_permission. (Note the
> > path is not used to make any integrity decision, but is recorded along
> > with the measurement to help with the integrity analysis by a third
> > party verifier.) Yes, there are other callers without path information,
> > but getting a path here covers the bulk of the measurements.
> > 
> > Is there some other alternative, other than this, or passing the 
> > dentry into inode_permission, which was also rejected?
> 
> Whatever happened to the patch Mimi had floated to use the audit
> subsystem to output a pathname?  I thought that was pretty neat,
> and it made particularly clear the the pathname was purely
> informational.
> 
> -serge

I'll double check with Mimi, but my recollection is that using the 
audit pathnames was nice, in that it returned a full path as a hint, 
not just a dentry filename, but that the audit system often did not 
have a path yet, so both the dentry name and the audit path were 
desirable.

dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ