提交 d6aed64b 编写于 作者: K Kees Cook

Yama: Initialize as ordered LSM

This converts Yama from being a direct "minor" LSM into an ordered LSM.
Signed-off-by: NKees Cook <keescook@chromium.org>
Reviewed-by: NCasey Schaufler <casey@schaufler-ca.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册