Skip to content

Commit

Permalink
Yama: Initialize as ordered LSM
Browse files Browse the repository at this point in the history
This converts Yama from being a direct "minor" LSM into an ordered LSM.

Signed-off-by: Kees Cook <[email protected]>
Reviewed-by: Casey Schaufler <[email protected]>
  • Loading branch information
kees committed Jan 8, 2019
1 parent 70b62c2 commit d6aed64
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
5 changes: 0 additions & 5 deletions include/linux/lsm_hooks.h
Original file line number Diff line number Diff line change
Expand Up @@ -2090,10 +2090,5 @@ static inline void security_delete_hooks(struct security_hook_list *hooks,
#endif /* CONFIG_SECURITY_WRITABLE_HOOKS */

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 */
2 changes: 1 addition & 1 deletion security/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ source "security/integrity/Kconfig"

config LSM
string "Ordered list of enabled LSMs"
default "loadpin,integrity,selinux,smack,tomoyo,apparmor"
default "yama,loadpin,integrity,selinux,smack,tomoyo,apparmor"
help
A comma-separated list of LSMs, in initialization order.
Any LSMs left off this list will be ignored. This can be
Expand Down
1 change: 0 additions & 1 deletion security/security.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,6 @@ int __init security_init(void)
* Load minor LSMs, with the capability module always first.
*/
capability_add_hooks();
yama_add_hooks();

/* Load LSMs in specified order. */
ordered_lsm_init();
Expand Down
8 changes: 7 additions & 1 deletion security/yama/yama_lsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -477,9 +477,15 @@ static void __init yama_init_sysctl(void)
static inline void yama_init_sysctl(void) { }
#endif /* CONFIG_SYSCTL */

void __init yama_add_hooks(void)
static int __init yama_init(void)
{
pr_info("Yama: becoming mindful.\n");
security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks), "yama");
yama_init_sysctl();
return 0;
}

DEFINE_LSM(yama) = {
.name = "yama",
.init = yama_init,
};

0 comments on commit d6aed64

Please sign in to comment.