diff -uNr systemd-228/src/basic/fs-util.c systemd-228-new/src/basic/fs-util.c --- systemd-228/src/basic/fs-util.c 2017-02-07 23:47:47.432666702 +0000 +++ systemd-228-new/src/basic/fs-util.c 2017-02-08 00:03:43.500712291 +0000 @@ -327,7 +327,8 @@ if (parents) mkdir_parents(path, 0755); - fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, mode > 0 ? mode : 0644); + fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, + (mode == 0 || mode == MODE_INVALID) ? 0644 : mode); if (fd < 0) return -errno;