[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAEjxPJ4D7A4KDF9BfmRa9VvzcAHBkkrdKCvmGazuZUto5=qDuw@mail.gmail.com>
Date: Thu, 9 Oct 2025 14:38:26 -0400
From: Stephen Smalley <stephen.smalley.work@...il.com>
To: Casey Schaufler <casey@...aufler-ca.com>, Ondrej Mosnacek <omosnace@...hat.com>
Cc: paul@...l-moore.com, eparis@...hat.com,
linux-security-module@...r.kernel.org, jmorris@...ei.org, serge@...lyn.com,
keescook@...omium.org, john.johansen@...onical.com,
penguin-kernel@...ove.sakura.ne.jp, linux-kernel@...r.kernel.org,
selinux@...r.kernel.org
Subject: Re: [PATCH v2 2/2] LSM: Infrastructure management of the mnt_opts
security blob
On Thu, Sep 25, 2025 at 1:12 PM Casey Schaufler <casey@...aufler-ca.com> wrote:
>
> Move management of the mnt_opts->security blob out of the individual
> security modules and into the security infrastructure. The modules
> tell the infrastructure how much space is required, and the space is
> allocated as required in the interfaces that use the blob.
>
> Signed-off-by: Casey Schaufler <casey@...aufler-ca.com>
> ---
> diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
> index 4bba9d119713..1ccf880e4894 100644
> --- a/security/selinux/hooks.c
> +++ b/security/selinux/hooks.c
> @@ -656,19 +651,13 @@ static int selinux_set_mnt_opts(struct super_block *sb,
> mutex_lock(&sbsec->lock);
>
> if (!selinux_initialized()) {
> - if (!opts) {
> - /* Defer initialization until selinux_complete_init,
> - after the initial policy is loaded and the security
> - server is ready to handle calls. */
> - if (kern_flags & SECURITY_LSM_NATIVE_LABELS) {
> - sbsec->flags |= SE_SBNATIVE;
> - *set_kern_flags |= SECURITY_LSM_NATIVE_LABELS;
> - }
> - goto out;
> + /* Defer initialization until selinux_complete_init,
> + after the initial policy is loaded and the security
> + server is ready to handle calls. */
> + if (kern_flags & SECURITY_LSM_NATIVE_LABELS) {
> + sbsec->flags |= SE_SBNATIVE;
> + *set_kern_flags |= SECURITY_LSM_NATIVE_LABELS;
This seemingly would produce a change in behavior for SELinux.
Previously we would only do this if there were no SELinux mount
options specified.
> }
> - rc = -EINVAL;
> - pr_warn("SELinux: Unable to set superblock options "
> - "before the security server is initialized\n");
Ditto.
> goto out;
> }
>
>
Powered by blists - more mailing lists