Smack: Minor initialisation improvement

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>
This commit is contained in:
José Bollo 2015-10-02 15:15:56 +02:00 коммит произвёл Casey Schaufler
Родитель 8b549ef42a
Коммит d21b7b049c
2 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -4708,8 +4708,6 @@ static __init int smack_init(void)
if (!security_module_enable("smack")) if (!security_module_enable("smack"))
return 0; return 0;
smack_enabled = 1;
smack_inode_cache = KMEM_CACHE(inode_smack, 0); smack_inode_cache = KMEM_CACHE(inode_smack, 0);
if (!smack_inode_cache) if (!smack_inode_cache)
return -ENOMEM; return -ENOMEM;
@ -4721,6 +4719,8 @@ static __init int smack_init(void)
return -ENOMEM; return -ENOMEM;
} }
smack_enabled = 1;
pr_info("Smack: Initializing.\n"); pr_info("Smack: Initializing.\n");
#ifdef CONFIG_SECURITY_SMACK_NETFILTER #ifdef CONFIG_SECURITY_SMACK_NETFILTER
pr_info("Smack: Netfilter enabled.\n"); pr_info("Smack: Netfilter enabled.\n");

Просмотреть файл

@ -2892,7 +2892,7 @@ static int __init init_smk_fs(void)
int err; int err;
int rc; int rc;
if (!security_module_enable("smack")) if (smack_enabled == 0)
return 0; return 0;
err = smk_init_sysfs(); err = smk_init_sysfs();