From: Stephen Smalley <sds@tycho.nsa.gov>
To: Casey Schaufler <casey@schaufler-ca.com>,
James Morris <jmorris@namei.org>,
James Morris <james.l.morris@oracle.com>,
LSM <linux-security-module@vger.kernel.org>,
LKLM <linux-kernel@vger.kernel.org>
Cc: Paul Moore <pmoore@redhat.com>,
John Johansen <john.johansen@canonical.com>,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
Eric Paris <eparis@redhat.com>, Kees Cook <keescook@chromium.org>
Subject: Re: [PATCH 0/7 v22] LSM: Multiple concurrent LSMs
Date: Thu, 07 May 2015 13:04:34 -0400 [thread overview]
Message-ID: <554B9B22.2090501@tycho.nsa.gov> (raw)
In-Reply-To: <55454539.9020204@schaufler-ca.com>
On 05/02/2015 05:44 PM, Casey Schaufler wrote:
> Subject: [PATCH 0/7 v22] LSM: Multiple concurrent LSMs
>
> Replace the current ad hoc stacking of the capabilities
> and Yama security modules with a generalized stacking scheme.
>
> The old structure had a single set of module hooks contained
> in a security_operations structure. This structure was initialized
> with a set of stubs referred to as the "capabilities" module.
> In fact only a few of these hooks actually did anything useful.
> When a module replaced the capabilities module the entries
> supplied replaced those from the capabilities module. The
> new hook was expected to call the replaced capability code
> if "stacking" was desired, which it usually was. Yama stacking
> is done by ifdefs in the security infrastructure.
>
> The new structure provides a list of module hooks for each
> interface. The non-trivial functions from the capabilities
> module are add to the list first. If Yama stacking is configured
> the Yama functions are added next. If a module is specified as
> the "default" module, or is specified on the command line, it
> is added next.
>
> Functions are called in the order added to the list. The
> security interfaces stop when a function indicates an access
> denial. It is possible for a list to be empty. That is treated
> as a success in most cases.
>
> Each security module provides an array of function list entries.
> This is initialized with the information needed to properly add
> the entries to the function lists.
>
> The sheer size of this patch set is somewhat frightening. This
> is an artifact of the number of security interfaces involved and
> except for a few cases the changes are mechanical in nature.
> Except for the removal of some information specific to the security
> module infrastructure itself, the change is transparent to the rest
> of the kernel.
>
> This is going to break out-of-tree security modules. It's easy to
> update a module to the new scheme, and I'd be happy to do it for
> any module I know about, but if it isn't in the tree, I don't know
> about it.
>
> The stacking of modules that use the security blob pointers
> cred->security, inode->i_security, etc has not been addressed.
> That is future work with a delightful set of issues.
>
> This patch set is based on James Morris' security-next tree,
> which is itself based on Linus' 4.1-rc1. A git tree will be
> available shortly at:
>
> git@github.com:cschaufler/smack-next.git#stacking-v22
>
> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Looks like it includes all of the fixes tacked onto the end of v21 and
passes selinux-testsuite.
>
> ---
> include/linux/lsm_hooks.h | 1886 ++++++++++++++++++++++++++++++++++++++++++++
> include/linux/security.h | 1621 +------------------------------------
> security/Makefile | 2 +-
> security/apparmor/domain.c | 12 +-
> security/apparmor/lsm.c | 131 ++-
> security/capability.c | 1158 ---------------------------
> security/commoncap.c | 41 +-
> security/security.c | 955 +++++++++++++++-------
> security/selinux/hooks.c | 490 +++++-------
> security/smack/smack.h | 4 +-
> security/smack/smack_lsm.c | 307 ++++---
> security/smack/smackfs.c | 2 +-
> security/tomoyo/tomoyo.c | 72 +-
> security/yama/yama_lsm.c | 60 +-
> 14 files changed, 3064 insertions(+), 3677 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2015-05-07 17:05 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-02 21:44 [PATCH 0/7 v22] LSM: Multiple concurrent LSMs Casey Schaufler
2015-05-02 22:10 ` [PATCH 1/7 v22] LSM: Split security.h Casey Schaufler
2015-05-07 20:41 ` Paul Moore
2015-05-02 22:10 ` [PATCH 2/7 v22] LSM: Add the comment to lsm_hooks.h Casey Schaufler
2015-05-07 20:42 ` Paul Moore
2015-05-02 22:11 ` [PATCH 3/7 v22] LSM: Remove a comment from security.h Casey Schaufler
2015-05-07 20:43 ` Paul Moore
2015-05-02 22:11 ` [PATCH 4/7 v22] LSM: Introduce security hook calling Macros Casey Schaufler
2015-05-07 21:02 ` Paul Moore
2015-05-02 22:11 ` [PATCH 5/7 v22] LSM: Add security module hook list heads Casey Schaufler
2015-05-07 21:03 ` Paul Moore
2015-05-02 22:11 ` [PATCH 6/7 v22] LSM: Switch to lists of hooks Casey Schaufler
2015-05-07 21:05 ` Paul Moore
2015-05-02 22:11 ` [PATCH 7/7 v22] LSM: Remove unused capability.c Casey Schaufler
2015-05-07 21:05 ` Paul Moore
2015-05-03 19:04 ` [PULL] LSM: Basic module stacking infrastructure for security-next Casey Schaufler
2015-05-07 11:37 ` [PATCH 0/7 v22] LSM: Multiple concurrent LSMs James Morris
2015-05-07 14:47 ` Casey Schaufler
2015-05-07 18:07 ` Paul Moore
2015-05-07 20:22 ` Mimi Zohar
2015-05-07 20:23 ` Stephen Smalley
2015-05-07 20:36 ` Casey Schaufler
2015-05-08 11:21 ` Mimi Zohar
2015-05-08 16:13 ` Casey Schaufler
2015-05-08 17:00 ` Kees Cook
2015-05-08 17:54 ` John Johansen
2015-05-09 1:41 ` Tetsuo Handa
2015-05-07 17:04 ` Stephen Smalley [this message]
2015-05-09 2:07 ` [PULL] LSM: Basic module stacking infrastructure for security-next - Acked Casey Schaufler
2015-05-12 5:02 ` James Morris
2015-05-13 4:19 ` Casey Schaufler
2015-05-15 12:56 ` [PULL] LSM: Basic module stacking infrastructure for security-next- Acked Tetsuo Handa
2015-05-16 17:39 ` Casey Schaufler
2015-05-17 3:53 ` LSM: Basic module stacking infrastructure for security-next-Acked Tetsuo Handa
2015-05-19 17:45 ` [PULL] LSM: Basic module stacking infrastructure for security-next - Acked Kees Cook
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=554B9B22.2090501@tycho.nsa.gov \
--to=sds@tycho.nsa.gov \
--cc=casey@schaufler-ca.com \
--cc=eparis@redhat.com \
--cc=james.l.morris@oracle.com \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=pmoore@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.