LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: James Morris <jmorris@namei.org>
To: "Ahmed S. Darwish" <darwish.07@gmail.com>
Cc: Casey Schaufler <casey@schaufler-ca.com>,
Adrian Bunk <bunk@kernel.org>, Chris Wright <chrisw@sous-sol.org>,
Stephen Smalley <sds@tycho.nsa.gov>,
Eric Paris <eparis@parisplace.org>,
Alexey Dobriyan <adobriyan@sw.ru>,
LKML <linux-kernel@vger.kernel.org>,
LSM-ML <linux-security-module@vger.kernel.org>,
Anrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH -v3 -mm] LSM: Add security= boot parameter
Date: Mon, 3 Mar 2008 19:29:22 +1100 (EST) [thread overview]
Message-ID: <Xine.LNX.4.64.0803031910170.6729@us.intercode.com.au> (raw)
In-Reply-To: <20080302105946.GA6406@ubuntu>
On Sun, 2 Mar 2008, Ahmed S. Darwish wrote:
> Add the security= boot parameter. This is done to avoid LSM
> registration clashes in case of more than one bult-in module.
>
> User can choose a security module to enable at boot. If no
> security= boot parameter is specified, only the first LSM
> asking for registration will be loaded. An invalid security
> module name will be treated as if no module has been chosen.
>
> LSM modules must check now if they are allowed to register
> by calling security_module_enable(ops) first. Modify SELinux
> and SMACK to do so.
I think this can be simplified by folding the logic into
register_security(), rather than having a two-stage LSM registration
process.
So, this function would now look like
int register_security(ops, *status);
and set *status to LSM_WAS_CHOSEN (or similar) if the module being
registered was also chosen via the security= parameter. If there is no
value for the parameter, the first module to register is automatically
chosen, to preserve existing behavior.
The calling code can then decide what to do, e.g. not panic if
registration failed and the LSM was not chosen; panic on failure when it
was chosen.
> +static atomic_t security_ops_enabled = ATOMIC_INIT(-1);
I'd suggest getting rid of this atomic and using a spinlock to protect the
global chosen_lsm string, which is always filled when an LSM registers.
>
> +/* Save user chosen LSM */
> +static int __init choose_lsm(char *str)
> +{
> + strncpy(chosen_lsm, str, SECURITY_NAME_MAX);
> + chosen_lsm[SECURITY_NAME_MAX] = NULL;
You should never need to set the last byte to NULL -- it's initialized to
that and by definition should never be overwritten.
> +int security_module_enable(struct security_operations *ops)
> +{
> + if (!ops || !ops->name)
> + return 0;
Lack of ops->name during registration needs to be a BUG_ON.
- James
--
James Morris
<jmorris@namei.org>
next prev parent reply other threads:[~2008-03-03 8:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-01 19:07 [RFC PATCH -mm] LSM: Add lsm= " Ahmed S. Darwish
2008-03-01 20:28 ` Casey Schaufler
2008-03-01 21:11 ` Adrian Bunk
2008-03-01 21:29 ` Casey Schaufler
2008-03-01 23:27 ` [PATCH -v2 -mm] LSM: Add security= " Ahmed S. Darwish
2008-03-02 3:41 ` Casey Schaufler
2008-03-02 7:55 ` Ahmed S. Darwish
2008-03-02 7:49 ` Ahmed S. Darwish
2008-03-02 10:59 ` [PATCH -v3 " Ahmed S. Darwish
2008-03-02 18:37 ` Casey Schaufler
2008-03-03 8:29 ` James Morris [this message]
2008-03-03 15:35 ` Ahmed S. Darwish
2008-03-03 15:54 ` Stephen Smalley
2008-03-03 21:24 ` [PATCH -v4 " Ahmed S. Darwish
2008-03-03 22:16 ` James Morris
2008-03-04 3:04 ` [PATCH -v5 " Ahmed S. Darwish
2008-03-04 4:07 ` James Morris
2008-03-05 22:29 ` Andrew Morton
2008-03-05 22:56 ` Ahmed S. Darwish
2008-03-05 23:06 ` Ahmed S. Darwish
2008-03-05 22:56 ` James Morris
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=Xine.LNX.4.64.0803031910170.6729@us.intercode.com.au \
--to=jmorris@namei.org \
--cc=adobriyan@sw.ru \
--cc=akpm@linux-foundation.org \
--cc=bunk@kernel.org \
--cc=casey@schaufler-ca.com \
--cc=chrisw@sous-sol.org \
--cc=darwish.07@gmail.com \
--cc=eparis@parisplace.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=sds@tycho.nsa.gov \
--subject='Re: [PATCH -v3 -mm] LSM: Add security= boot parameter' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).