BACKPORT: Smack: Minor initialisation improvement
authorJosé Bollo <jobol@nonadev.net>
Fri, 2 Oct 2015 13:15:56 +0000 (15:15 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Mon, 21 Nov 2016 16:02:06 +0000 (17:02 +0100)
This change has two goals:
 - delay the setting of 'smack_enabled' until
   it will be really effective
 - ensure that smackfs is valid only if 'smack_enabled'
   is set (it is already the case in smack_netfilter.c)

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
(cherry-picked from upstream d21b7b049c0c1753a10c1d01606f42bad0e0f733)

security/smack/smack_lsm.c
security/smack/smackfs.c

index 4088d6c581941b238b532d394b79cc42f379f8dc..6405066d38a3923a49d672a5b81a88534708fd52 100644 (file)
@@ -4711,8 +4711,6 @@ static __init int smack_init(void)
        if (!security_module_enable("smack"))
                return 0;
 
-       smack_enabled = 1;
-
        smack_inode_cache = KMEM_CACHE(inode_smack, 0);
        if (!smack_inode_cache)
                return -ENOMEM;
@@ -4724,6 +4722,8 @@ static __init int smack_init(void)
                return -ENOMEM;
        }
 
+       smack_enabled = 1;
+
        pr_info("Smack:  Initializing.\n");
 #ifdef CONFIG_SECURITY_SMACK_NETFILTER
        pr_info("Smack:  Netfilter enabled.\n");
index 63e52e24a6ff21753c235151bd87ccdbbc9430a6..516acfea351d7370b292631c14f6e2af5320a13f 100644 (file)
@@ -2896,7 +2896,7 @@ static int __init init_smk_fs(void)
        int err;
        int rc;
 
-       if (!security_module_enable("smack"))
+       if (smack_enabled == 0)
                return 0;
 
        err = smk_init_sysfs();