Systemd makes execution much more orderly. It directly executes
all services, making all the initilize_domain directives, except
the other kernel entry points of modprobe and hotplug, here
unneeded.

Systemd's sysvinit compat also renders the sysvinit aggregators
unneeded, as it always executes the /etc/init.d/* version.
---
 usr_lib_tomoyo/init_policy.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/usr_lib_tomoyo/init_policy.c b/usr_lib_tomoyo/init_policy.c
index 5830613..e2fd29a 100644
--- a/usr_lib_tomoyo/init_policy.c
+++ b/usr_lib_tomoyo/init_policy.c
@@ -811,9 +811,11 @@ static void make_exception_policy(void)
        make_readdir();
        make_getattr();
        scan_modprobe_and_hotplug();
-       make_init_dir_as_initializers();
-       make_initializers();
-       make_init_scripts_as_aggregators();
+       if (access("/lib/systemd/systemd", X_OK) != 0) {
+               make_init_dir_as_initializers();
+               make_initializers();
+               make_init_scripts_as_aggregators();
+       }
        /* Some applications do execve("/proc/self/exe"). */
        fprintf(filp, "aggregator proc:/self/exe /proc/self/exe\n");
        close_file(filp, chdir_policy(), "exception_policy.tmp",
-- 
1.8.4.3

_______________________________________________
tomoyo-dev-en mailing list
tomoyo-dev-en@lists.sourceforge.jp
http://lists.sourceforge.jp/mailman/listinfo/tomoyo-dev-en

Reply via email to