diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2009-02-21 20:40:50 +0900 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-02-23 09:45:05 +1100 |
commit | 1581e7ddbdd97443a134e1a0cc9d81256baf77a4 (patch) | |
tree | 54134783d9b61dea08b434e0d6e447ac8f8924b2 /security/tomoyo | |
parent | 0da0a420bb542b13ebae142109a9d2045ade0cb1 (diff) | |
download | linux-3.10-1581e7ddbdd97443a134e1a0cc9d81256baf77a4.tar.gz linux-3.10-1581e7ddbdd97443a134e1a0cc9d81256baf77a4.tar.bz2 linux-3.10-1581e7ddbdd97443a134e1a0cc9d81256baf77a4.zip |
TOMOYO: Do not call tomoyo_realpath_init unless registered.
tomoyo_realpath_init() is unconditionally called by security_initcall().
But nobody will use realpath related functions if TOMOYO is not registered.
So, let tomoyo_init() call tomoyo_realpath_init().
This patch saves 4KB of memory allocation if TOMOYO is not registered.
Signed-off-by: Kentaro Takeda <takedakn@nttdata.co.jp>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Toshiharu Harada <haradats@nttdata.co.jp>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo')
-rw-r--r-- | security/tomoyo/realpath.c | 7 | ||||
-rw-r--r-- | security/tomoyo/realpath.h | 3 | ||||
-rw-r--r-- | security/tomoyo/tomoyo.c | 1 |
3 files changed, 5 insertions, 6 deletions
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c index 5fd48d23a21..d47f16b844b 100644 --- a/security/tomoyo/realpath.c +++ b/security/tomoyo/realpath.c @@ -371,10 +371,8 @@ const struct tomoyo_path_info *tomoyo_save_name(const char *name) /** * tomoyo_realpath_init - Initialize realpath related code. - * - * Returns 0. */ -static int __init tomoyo_realpath_init(void) +void __init tomoyo_realpath_init(void) { int i; @@ -388,11 +386,8 @@ static int __init tomoyo_realpath_init(void) if (tomoyo_find_domain(TOMOYO_ROOT_NAME) != &tomoyo_kernel_domain) panic("Can't register tomoyo_kernel_domain"); up_read(&tomoyo_domain_list_lock); - return 0; } -security_initcall(tomoyo_realpath_init); - /* Memory allocated for temporary purpose. */ static atomic_t tomoyo_dynamic_memory_size; diff --git a/security/tomoyo/realpath.h b/security/tomoyo/realpath.h index 0ea541fcb53..7ec9fc9cbc0 100644 --- a/security/tomoyo/realpath.h +++ b/security/tomoyo/realpath.h @@ -60,4 +60,7 @@ int tomoyo_read_memory_counter(struct tomoyo_io_buffer *head); /* Set memory quota. */ int tomoyo_write_memory_quota(struct tomoyo_io_buffer *head); +/* Initialize realpath related code. */ +void __init tomoyo_realpath_init(void); + #endif /* !defined(_SECURITY_TOMOYO_REALPATH_H) */ diff --git a/security/tomoyo/tomoyo.c b/security/tomoyo/tomoyo.c index cc599b36a3a..3eeeae12c4d 100644 --- a/security/tomoyo/tomoyo.c +++ b/security/tomoyo/tomoyo.c @@ -287,6 +287,7 @@ static int __init tomoyo_init(void) panic("Failure registering TOMOYO Linux"); printk(KERN_INFO "TOMOYO Linux initialized\n"); cred->security = &tomoyo_kernel_domain; + tomoyo_realpath_init(); return 0; } |