Commit d6aed64b authored by Kees Cook's avatar Kees Cook

Yama: Initialize as ordered LSM

This converts Yama from being a direct "minor" LSM into an ordered LSM.
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarCasey Schaufler <casey@schaufler-ca.com>
parent 70b62c25
...@@ -2090,10 +2090,5 @@ static inline void security_delete_hooks(struct security_hook_list *hooks, ...@@ -2090,10 +2090,5 @@ static inline void security_delete_hooks(struct security_hook_list *hooks,
#endif /* CONFIG_SECURITY_WRITABLE_HOOKS */ #endif /* CONFIG_SECURITY_WRITABLE_HOOKS */
extern void __init capability_add_hooks(void); extern void __init capability_add_hooks(void);
#ifdef CONFIG_SECURITY_YAMA
extern void __init yama_add_hooks(void);
#else
static inline void __init yama_add_hooks(void) { }
#endif
#endif /* ! __LINUX_LSM_HOOKS_H */ #endif /* ! __LINUX_LSM_HOOKS_H */
...@@ -241,7 +241,7 @@ source "security/integrity/Kconfig" ...@@ -241,7 +241,7 @@ source "security/integrity/Kconfig"
config LSM config LSM
string "Ordered list of enabled LSMs" string "Ordered list of enabled LSMs"
default "loadpin,integrity,selinux,smack,tomoyo,apparmor" default "yama,loadpin,integrity,selinux,smack,tomoyo,apparmor"
help help
A comma-separated list of LSMs, in initialization order. A comma-separated list of LSMs, in initialization order.
Any LSMs left off this list will be ignored. This can be Any LSMs left off this list will be ignored. This can be
......
...@@ -274,7 +274,6 @@ int __init security_init(void) ...@@ -274,7 +274,6 @@ int __init security_init(void)
* Load minor LSMs, with the capability module always first. * Load minor LSMs, with the capability module always first.
*/ */
capability_add_hooks(); capability_add_hooks();
yama_add_hooks();
/* Load LSMs in specified order. */ /* Load LSMs in specified order. */
ordered_lsm_init(); ordered_lsm_init();
......
...@@ -477,9 +477,15 @@ static void __init yama_init_sysctl(void) ...@@ -477,9 +477,15 @@ static void __init yama_init_sysctl(void)
static inline void yama_init_sysctl(void) { } static inline void yama_init_sysctl(void) { }
#endif /* CONFIG_SYSCTL */ #endif /* CONFIG_SYSCTL */
void __init yama_add_hooks(void) static int __init yama_init(void)
{ {
pr_info("Yama: becoming mindful.\n"); pr_info("Yama: becoming mindful.\n");
security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks), "yama"); security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks), "yama");
yama_init_sysctl(); yama_init_sysctl();
return 0;
} }
DEFINE_LSM(yama) = {
.name = "yama",
.init = yama_init,
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment