[PATCH v3 17/34] lsm: cleanup initialize_lsm() and rename to lsm_init_single()
Casey Schaufler
casey at schaufler-ca.com
Fri Aug 15 17:05:37 UTC 2025
On 8/14/2025 3:50 PM, Paul Moore wrote:
> Rename initialize_lsm() to be more consistent with the rest of the LSM
> initialization changes and rework the function itself to better fit
> with the "exit on fail" coding pattern.
>
> Reviewed-by: Kees Cook <kees at kernel.org>
> Reviewed-by: John Johansen <john.johansen at canonical.com>
> Signed-off-by: Paul Moore <paul at paul-moore.com>
Reviewed-by: Casey Schaufler <casey at schaufler-ca.com>
> ---
> security/lsm_init.c | 25 +++++++++++++++----------
> 1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/security/lsm_init.c b/security/lsm_init.c
> index 5249aa044d9d..1f64222925c1 100644
> --- a/security/lsm_init.c
> +++ b/security/lsm_init.c
> @@ -169,6 +169,7 @@ static void __init lsm_order_append(struct lsm_info *lsm, const char *src)
> lsm_is_enabled(lsm) ? "enabled" : "disabled");
> }
>
> +
> /**
> * lsm_blob_size_update - Update the LSM blob size and offset information
> * @sz_req: the requested additional blob size
> @@ -225,16 +226,20 @@ static void __init lsm_prepare(struct lsm_info *lsm)
> lsm_blob_size_update(&blobs->lbs_bpf_token, &blob_sizes.lbs_bpf_token);
> }
>
> -/* Initialize a given LSM, if it is enabled. */
> -static void __init initialize_lsm(struct lsm_info *lsm)
> +/**
> + * lsm_init_single - Initialize a given LSM
> + * @lsm: LSM definition
> + */
> +static void __init lsm_init_single(struct lsm_info *lsm)
> {
> - if (lsm_is_enabled(lsm)) {
> - int ret;
> + int ret;
>
> - init_debug("initializing %s\n", lsm->id->name);
> - ret = lsm->init();
> - WARN(ret, "%s failed to initialize: %d\n", lsm->id->name, ret);
> - }
> + if (!lsm_is_enabled(lsm))
> + return;
> +
> + init_debug("initializing %s\n", lsm->id->name);
> + ret = lsm->init();
> + WARN(ret, "%s failed to initialize: %d\n", lsm->id->name, ret);
> }
>
> /**
> @@ -379,7 +384,7 @@ static void __init lsm_init_ordered(void)
> panic("%s: early task alloc failed.\n", __func__);
>
> lsm_order_for_each(lsm) {
> - initialize_lsm(*lsm);
> + lsm_init_single(*lsm);
> }
> }
>
> @@ -429,7 +434,7 @@ int __init early_security_init(void)
> lsm_enabled_set(lsm, true);
> lsm_order_append(lsm, "early");
> lsm_prepare(lsm);
> - initialize_lsm(lsm);
> + lsm_init_single(lsm);
> }
>
> return 0;
More information about the Linux-security-module-archive
mailing list