From: Casey Schaufler <casey@schaufler-ca.com>
To: casey@schaufler-ca.com, paul@paul-moore.com, eparis@redhat.com,
linux-security-module@vger.kernel.org, audit@vger.kernel.org
Cc: jmorris@namei.org, serge@hallyn.com, keescook@chromium.org,
john.johansen@canonical.com, penguin-kernel@i-love.sakura.ne.jp,
stephen.smalley.work@gmail.com, linux-kernel@vger.kernel.org,
selinux@vger.kernel.org
Subject: [RFC PATCH 00/15] LSM: No exclusive LSMs
Date: Sat, 21 Jun 2025 10:18:35 -0700 [thread overview]
Message-ID: <20250621171851.5869-1-casey@schaufler-ca.com> (raw)
In-Reply-To: <20250621171851.5869-1-casey.ref@schaufler-ca.com>
Remove all constraints that require Linux Security Modules to
be marked as "exclusive".
This RFC includes variants of two other patch sets:
https://github.com/cschaufler/lsm-stacking#audit-6.14-rc1-v4
https://github.com/cschaufler/lsm-stacking#mount-opts-6.16-rc1
Based on patches Paul Moore's LSM initialization patchset.
https://lore.kernel.org/all/20250409185019.238841-31-paul@paul-moore.com/v3
There are three components to this change. Patches 01-04
implement a mechanism to provide auxiliary audit records
and uses it to supply new records for multiple subject and
object security contexts. Patches 09-11 allow mount options
to be supported by multiple LSMs. The remaining patches
address mechanisms that cannot be used safely by more than
one LSM.
Testing has been done using SELinux, Smack and AppArmor on
Fedora and using AppArmor and Smack on Ubuntu. Using SELinux
and Smack on Fedora requires a systemd change.
Casey Schaufler (15):
Audit: Create audit_stamp structure
LSM: security_lsmblob_to_secctx module selection
Audit: Add record for multiple task security contexts
Audit: Add record for multiple object contexts
LSM: Single calls in secid hooks
LSM: Exclusive secmark usage
Audit: Call only the first of the audit rule hooks
AppArmor: Remove the exclusive flag
LSM: Add mount opts blob size tracking
LSM: allocate mnt_opts blobs instead of module specific data
LSM: Infrastructure management of the mnt_opts security blob
LSM: Allow reservation of netlabel
LSM: restrict security_cred_getsecid() to a single LSM
Smack: Remove LSM_FLAG_EXCLUSIVE
LSM: Remove exclusive LSM flag
include/linux/audit.h | 23 +++
include/linux/lsm_hooks.h | 5 +-
include/linux/security.h | 6 +-
include/uapi/linux/audit.h | 2 +
kernel/audit.c | 274 ++++++++++++++++++++++++----
kernel/audit.h | 13 +-
kernel/auditsc.c | 65 ++-----
net/netlabel/netlabel_user.c | 8 +-
security/apparmor/include/net.h | 5 +
security/apparmor/lsm.c | 12 +-
security/lsm.h | 4 -
security/lsm_init.c | 36 ++--
security/security.c | 103 ++++++++---
security/selinux/hooks.c | 82 ++++++---
security/selinux/include/netlabel.h | 5 +
security/selinux/netlabel.c | 4 +-
security/smack/smack.h | 10 +
security/smack/smack_lsm.c | 107 ++++++++---
security/smack/smack_netfilter.c | 10 +-
security/smack/smackfs.c | 20 +-
20 files changed, 585 insertions(+), 209 deletions(-)
--
2.47.0
next parent reply other threads:[~2025-06-21 17:19 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250621171851.5869-1-casey.ref@schaufler-ca.com>
2025-06-21 17:18 ` Casey Schaufler [this message]
2025-06-21 17:18 ` [RFC PATCH 01/15] Audit: Create audit_stamp structure Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 1/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 02/15] LSM: security_lsmblob_to_secctx module selection Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 2/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 03/15] Audit: Add record for multiple task security contexts Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 3/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 04/15] Audit: Add record for multiple object contexts Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 4/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 05/15] LSM: Single calls in secid hooks Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 5/15] " Paul Moore
2025-11-04 16:00 ` Casey Schaufler
2025-06-21 17:18 ` [RFC PATCH 06/15] LSM: Exclusive secmark usage Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 6/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 07/15] Audit: Call only the first of the audit rule hooks Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 7/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 08/15] AppArmor: Remove the exclusive flag Casey Schaufler
2025-06-21 17:18 ` [RFC PATCH 09/15] LSM: Add mount opts blob size tracking Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC 9/15] " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 10/15] LSM: allocate mnt_opts blobs instead of module specific data Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 11/15] LSM: Infrastructure management of the mnt_opts security blob Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 12/15] LSM: Allow reservation of netlabel Casey Schaufler
2025-10-14 23:12 ` [PATCH RFC " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 13/15] LSM: restrict security_cred_getsecid() to a single LSM Casey Schaufler
2025-10-14 23:13 ` [PATCH RFC " Paul Moore
2025-06-21 17:18 ` [RFC PATCH 14/15] Smack: Remove LSM_FLAG_EXCLUSIVE Casey Schaufler
2025-06-21 17:18 ` [RFC PATCH 15/15] LSM: Remove exclusive LSM flag 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=20250621171851.5869-1-casey@schaufler-ca.com \
--to=casey@schaufler-ca.com \
--cc=audit@vger.kernel.org \
--cc=eparis@redhat.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=paul@paul-moore.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=stephen.smalley.work@gmail.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®