Re: [PATCH 5/9] Make use of permissions, returned by kobj_lookup

Stephen Smalley
2008-03-12T13:20:01Z

On Wed, 2008-03-12 at 08:09 -0500, Serge E. Hallyn wrote:
> Quoting Pavel Emelyanov (xemul@openvz.org):
> > Greg KH wrote:
> > > On Tue, Mar 11, 2008 at 12:57:55PM +0300, Pavel Emelyanov wrote:
> > >> Besides, I've measured some things - the lat_syscall test for open from
> > >> lmbench test suite and the nptl perf test. Here are the results:
> > >>
> > >> sec nosec
> > >> open 3.0980s 3.0709s
> > >> nptl 2.7746s 2.7710s
> > >>
> > >> So we have 0.88% loss in open and ~0.15% with nptl. I know, this is not that
> > >> much, but it is noticeable. Besides, this is only two tests, digging deeper
> > >> may reveal more.
> > >
> > > I think that is in the noise of sampling if you run that test many more
> > > times.
> >
> > These numbers are average values of 20 runs of each test. I didn't
> > provide the measurement accuracy, but the abs(open.sec - open.nosec)
> > is greater than it.
> >
> > >> Let alone the fact that simply turning the CONFIG_SECURITY to 'y' puts +8Kb
> > >> to the vmlinux...
> > >>
> > >> I think, I finally agree with you and Al Viro, that the kobj mapper is
> > >> not the right place to put the filtering, but taking the above numbers
> > >> into account, can we put the "hooks" into the #else /* CONFIG_SECURITY */
> > >> versions of security_inode_permission/security_file_permission/etc?
> > >
> > > Ask the security module interface maintainers about this, not me :)
> >
> > OK :) Thanks for your time, Greg.
> >
> > So, Serge, since you already have a LSM-based version, maybe you can
> > change it with the proposed "fix" and send it to LSM maintainers for
> > review?
>
> To take the point of view of someone who neither wants containers nor
> LSM but just a fast box,
>
> you're asking me to introduce LSM hooks for the !SECURITY case? :)
>
> I can give it a shot, but I expect some complaints. Now at least the
> _mknod hook shouldn't be a hotpath, and I suppose I can add yet
> an #ifdef inside the !SECURITY version of security_inode_permission().
> I still expect some complaints though. I'll send something soon.

Not sure I'm following the plot here, but please don't do anything that
will prohibit the use of containers/namespaces with security modules
like SELinux/Smack. Yes, that's a legitimate use case, and there will
be people who will want to do that - they serve different but
complementary purposes (containers are _not_ a substitute for MAC). We
don't want them to be exclusive of one another.

--
Stephen Smalley
National Security Agency