Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1581e7dd authored by Tetsuo Handa's avatar Tetsuo Handa Committed by James Morris
Browse files

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: default avatarKentaro Takeda <takedakn@nttdata.co.jp>
Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: default avatarToshiharu Harada <haradats@nttdata.co.jp>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent 0da0a420
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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;

+3 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
@@ -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;
}