[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