[systemd-commits] src/core

Lennart Poettering lennart at kemper.freedesktop.org
Thu Sep 26 11:40:15 PDT 2013


 src/core/main.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 90dc8c2ea2cebf2dd195abe4768205a831fd32cb
Author: Mike Gilbert <floppym at gentoo.org>
Date:   Thu Sep 26 20:39:41 2013 +0200

    main: set umask before creating any files
    
    This avoids a problem when we inherit a non-zero umask from the
    initramfs. This would cause /run/systemd to be created with the wrong
    mode.

diff --git a/src/core/main.c b/src/core/main.c
index 72bd542..0629d14 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1265,6 +1265,10 @@ int main(int argc, char *argv[]) {
 
         log_show_color(isatty(STDERR_FILENO) > 0);
 
+        /* Disable the umask logic */
+        if (getpid() == 1)
+                umask(0);
+
         if (getpid() == 1 && detect_container(NULL) <= 0) {
 
                 /* Running outside of a container as PID 1 */
@@ -1438,14 +1442,10 @@ int main(int argc, char *argv[]) {
         if (serialization)
                 assert_se(fdset_remove(fds, fileno(serialization)) >= 0);
 
-        if (arg_running_as == SYSTEMD_SYSTEM) {
+        if (arg_running_as == SYSTEMD_SYSTEM)
                 /* Become a session leader if we aren't one yet. */
                 setsid();
 
-                /* Disable the umask logic */
-                umask(0);
-        }
-
         /* Move out of the way, so that we won't block unmounts */
         assert_se(chdir("/")  == 0);
 



More information about the systemd-commits mailing list