From: Kyle Moffett <mrmacman_g4@mac.com>
To: Andreas Gruenbacher <agruen@suse.de>
Cc: James Morris <jmorris@namei.org>,
Chris Wright <chrisw@sous-sol.org>,
linux-security-module@vger.kernel.org,
"Serge E. Hallyn" <serue@us.ibm.com>,
Andrew Morgan <agm@google.com>, Andrew Morton <akpm@google.com>,
Stephen Smalley <sds@tycho.nsa.gov>,
lkml <linux-kernel@vger.kernel.org>,
Arjan van de Ven <arjan@infradead.org>, Greg KH <greg@kroah.com>,
Eric Paris <eparis@redhat.com>
Subject: Re: [PATCH try #2] security: Convert LSM into a static interface
Date: Tue, 26 Jun 2007 00:09:24 -0400 [thread overview]
Message-ID: <11C35822-4E11-4365-BADE-C1AE41F15B50@mac.com> (raw)
In-Reply-To: <200706252237.59226.agruen@suse.de>
On Jun 25, 2007, at 16:37:58, Andreas Gruenbacher wrote:
> On Monday 25 June 2007 06:33, James Morris wrote:
>> Convert LSM into a static interface, as the ability to unload a
>> security module is not required by in-tree users and potentially
>> complicates the overall security architecture.
>
> It's useful for some LSMs to be modular, and LSMs which are y/n
> options won't have any security architecture issues with unloading
> at all. The mere fact that SELinux cannot be built as a module is a
> rather weak argument for disabling LSM modules as a whole, so
> please don't.
Here are a few questions for you:
1) What do you expect to happen to all the megs of security data
when you "rmmod selinux"? Do you maintain a massive linked list of
security data (with all the locking and performance problems) so that
you can iterate over it calling kfree()? What synchronization
primitive do we have right now which could safely stop all CPUs
outside of security calls while we NULL out and free security data
and disable security operations? Don't say "software suspend" and
"process freezer", since those have whole order-of-magnitude-
complexity problems of their own (and don't always work right either).
2) When you "modprobe my_custom_security_module", how exactly do
you expect that all the processes, files, shared memory segments,
file descriptors, sockets, SYSV mutexes, packets, etc will get
appropriate security pointers? This isn't even solvable the same way
the "rmmod" problem is, since most of that isn't even accessible
without iterating over the ENTIRE dcache, icache, every process,
every process' file-descriptors, every socket, every unix socket,
every anonymous socket, every SYSV shm object, every currently-in-
process packet.
3) This sounds suspiciously like "The mere fact that the
Linux-2.6-VM cannot be built as a module is a rather weak argument
for disabling VFS modules as a whole". We don't do "pluggable
fundamental infrastructure" in Linux. If it's fundamental
infrastructure then you eliminate as many differences as possible and
leave the rest to CONFIG options (or delete it entirely).
So... Do you have a proposal for solving those rather fundamental
design gotchas? If so, I'm sure everybody here would love to see
your patch; though maybe not if it's a 32MB patch-zilla-of-doom (AKPM
beware, the merge-conflict-from-hell is on its way). On the other
hand, if you accept that these problems basically can't be solved and
we make things static and rip out a bunch of code, we can probably
improve our performance under larger security models (like SELinux/
AppArmor/TOMOYO/MagicSecurityFlavorOfTheWeek(TM)) by a percent or two.
Cheers,
Kyle Moffett
next prev parent reply other threads:[~2007-06-26 4:10 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070611123714.GA2063@sergelap.austin.ibm.com>
[not found] ` <878322.98602.qm@web36606.mail.mud.yahoo.com>
[not found] ` <afff21250706110926l244ddc28i44289cb08a6721e2@mail.gmail.com>
[not found] ` <20070617135239.GA17689@sergelap>
[not found] ` <4676007F.7060503@kernel.org>
[not found] ` <20070618044017.GW3723@sequoia.sous-sol.org>
[not found] ` <20070620171037.GA28670@sergelap.ibm.com>
[not found] ` <20070620174613.GF3723@sequoia.sous-sol.org>
2007-06-21 16:00 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-23 8:13 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-06-24 15:51 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-24 16:18 ` implement-file-posix-capabilities.patch James Morris
2007-06-24 20:58 ` [PATCH][RFC] security: Convert LSM into a static interface James Morris
2007-06-24 22:09 ` Chris Wright
2007-06-24 22:37 ` James Morris
2007-06-25 1:38 ` Chris Wright
2007-06-24 23:40 ` Casey Schaufler
2007-06-25 1:39 ` Chris Wright
2007-06-25 3:37 ` Casey Schaufler
2007-06-25 3:57 ` Chris Wright
2007-06-25 13:02 ` Casey Schaufler
2007-06-25 14:24 ` Roberto De Ioris
2007-06-25 4:33 ` [PATCH try #2] " James Morris
2007-06-25 4:48 ` Petr Vandrovec
2007-06-25 4:58 ` James Morris
2007-06-25 16:59 ` Stephen Smalley
2007-06-25 23:56 ` [PATCH try #3] " James Morris
2007-06-25 20:37 ` [PATCH try #2] " Andreas Gruenbacher
2007-06-25 21:14 ` James Morris
2007-06-26 3:57 ` Serge E. Hallyn
2007-06-26 13:15 ` Adrian Bunk
2007-06-26 14:06 ` Serge E. Hallyn
2007-06-26 14:59 ` Adrian Bunk
2007-06-26 15:53 ` Serge E. Hallyn
2007-06-26 18:52 ` Adrian Bunk
2007-06-26 18:18 ` Greg KH
2007-06-26 18:40 ` Serge E. Hallyn
2007-06-26 4:09 ` Kyle Moffett [this message]
2007-06-26 4:25 ` Kyle Moffett
2007-06-26 13:47 ` Serge E. Hallyn
2007-06-27 0:07 ` Kyle Moffett
2007-06-27 0:57 ` Crispin Cowan
2007-06-27 1:22 ` Kyle Moffett
2007-06-27 4:24 ` Chris Wright
2007-06-27 13:41 ` Serge E. Hallyn
2007-06-27 14:36 ` James Morris
2007-06-27 17:21 ` Serge E. Hallyn
2007-06-27 18:51 ` Serge E. Hallyn
2007-06-27 19:28 ` James Morris
2007-06-28 2:48 ` Serge E. Hallyn
2007-06-25 3:57 ` [PATCH][RFC] " Serge E. Hallyn
2007-06-25 4:10 ` Chris Wright
2007-06-25 4:54 ` Serge E. Hallyn
2007-06-25 13:50 ` Casey Schaufler
2007-06-25 13:54 ` James Morris
2007-06-25 14:32 ` Serge E. Hallyn
2007-06-25 15:08 ` Casey Schaufler
2007-06-27 5:00 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-06-27 13:16 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-28 6:19 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-06-28 13:36 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-28 15:14 ` implement-file-posix-capabilities.patch Casey Schaufler
2007-06-28 15:38 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-28 15:56 ` implement-file-posix-capabilities.patch Casey Schaufler
2007-06-29 5:30 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-06-29 13:24 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-06-29 14:46 ` implement-file-posix-capabilities.patch Casey Schaufler
2007-06-28 15:50 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-07-02 14:38 ` implement-file-posix-capabilities.patch Serge E. Hallyn
2007-07-04 21:29 ` implement-file-posix-capabilities.patch Andrew Morgan
2007-07-04 23:00 ` implement-file-posix-capabilities.patch Casey Schaufler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11C35822-4E11-4365-BADE-C1AE41F15B50@mac.com \
--to=mrmacman_g4@mac.com \
--cc=agm@google.com \
--cc=agruen@suse.de \
--cc=akpm@google.com \
--cc=arjan@infradead.org \
--cc=chrisw@sous-sol.org \
--cc=eparis@redhat.com \
--cc=greg@kroah.com \
--cc=jmorris@namei.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=sds@tycho.nsa.gov \
--cc=serue@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®