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>
This commit is contained in:
committed by
James Morris
parent
0da0a420bb
commit
1581e7ddbd
@@ -371,10 +371,8 @@ const struct tomoyo_path_info *tomoyo_save_name(const char *name)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* tomoyo_realpath_init - Initialize realpath related code.
|
* tomoyo_realpath_init - Initialize realpath related code.
|
||||||
*
|
|
||||||
* Returns 0.
|
|
||||||
*/
|
*/
|
||||||
static int __init tomoyo_realpath_init(void)
|
void __init tomoyo_realpath_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -388,11 +386,8 @@ static int __init tomoyo_realpath_init(void)
|
|||||||
if (tomoyo_find_domain(TOMOYO_ROOT_NAME) != &tomoyo_kernel_domain)
|
if (tomoyo_find_domain(TOMOYO_ROOT_NAME) != &tomoyo_kernel_domain)
|
||||||
panic("Can't register tomoyo_kernel_domain");
|
panic("Can't register tomoyo_kernel_domain");
|
||||||
up_read(&tomoyo_domain_list_lock);
|
up_read(&tomoyo_domain_list_lock);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
security_initcall(tomoyo_realpath_init);
|
|
||||||
|
|
||||||
/* Memory allocated for temporary purpose. */
|
/* Memory allocated for temporary purpose. */
|
||||||
static atomic_t tomoyo_dynamic_memory_size;
|
static atomic_t tomoyo_dynamic_memory_size;
|
||||||
|
|
||||||
|
@@ -60,4 +60,7 @@ int tomoyo_read_memory_counter(struct tomoyo_io_buffer *head);
|
|||||||
/* Set memory quota. */
|
/* Set memory quota. */
|
||||||
int tomoyo_write_memory_quota(struct tomoyo_io_buffer *head);
|
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) */
|
#endif /* !defined(_SECURITY_TOMOYO_REALPATH_H) */
|
||||||
|
@@ -287,6 +287,7 @@ static int __init tomoyo_init(void)
|
|||||||
panic("Failure registering TOMOYO Linux");
|
panic("Failure registering TOMOYO Linux");
|
||||||
printk(KERN_INFO "TOMOYO Linux initialized\n");
|
printk(KERN_INFO "TOMOYO Linux initialized\n");
|
||||||
cred->security = &tomoyo_kernel_domain;
|
cred->security = &tomoyo_kernel_domain;
|
||||||
|
tomoyo_realpath_init();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user