chiark / gitweb /
manager: be more precise in message about restart
[elogind.git] / src / core / selinux-setup.c
index e9c0de92f1fb5157d665b97e238535d38104d2af..9a5d6b2a9ddd655d3329c8d1a07f9e8e22740530 100644 (file)
@@ -58,8 +58,12 @@ int selinux_setup(bool *loaded_policy) {
        cb.func_log = null_log;
        selinux_set_callback(SELINUX_CB_LOG, cb);
 
-       /* Make sure getcon() works, which needs /proc and /sys */
-       mount_setup_early();
+       /* Don't load policy in the initrd if we don't appear to have
+        * it.  For the real root, we check below if we've already
+        * loaded policy, and return gracefully.
+        */
+       if (in_initrd() && access(selinux_path(), F_OK) < 0)
+               return 0;
 
        /* Already initialized by somebody else? */
        r = getcon_raw(&con);
@@ -104,7 +108,7 @@ int selinux_setup(bool *loaded_policy) {
                after_load = now(CLOCK_MONOTONIC);
 
                log_info("Successfully loaded SELinux policy in %s.",
-                         format_timespan(timespan, sizeof(timespan), after_load - before_load));
+                        format_timespan(timespan, sizeof(timespan), after_load - before_load, 0));
 
                *loaded_policy = true;