Skip to content

Commit

Permalink
TOMOYO: Do not call tomoyo_realpath_init unless registered.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tetsuo Handa authored and James Morris committed Feb 22, 2009
1 parent 0da0a42 commit 1581e7d
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 6 deletions.
7 changes: 1 addition & 6 deletions security/tomoyo/realpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;

Expand Down
3 changes: 3 additions & 0 deletions security/tomoyo/realpath.h
Original file line number Diff line number Diff line change
Expand Up @@ -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) */
1 change: 1 addition & 0 deletions security/tomoyo/tomoyo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit 1581e7d

Please sign in to comment.