diff options
Diffstat (limited to 'src/cryptsetup')
-rw-r--r-- | src/cryptsetup/cryptsetup-generator.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index e2dc96bdb7..7e61332e52 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -19,6 +19,7 @@ ***/ #include <errno.h> +#include <stdio_ext.h> #include "alloc-util.h" #include "dropin.h" @@ -117,6 +118,8 @@ static int create_disk( if (!f) return log_error_errno(errno, "Failed to create unit file %s: %m", p); + (void) __fsetlocking(f, FSETLOCKING_BYCALLER); + fprintf(f, "# Automatically generated by systemd-cryptsetup-generator\n\n" "[Unit]\n" @@ -136,7 +139,7 @@ static int create_disk( if (password) { if (STR_IN_SET(password, "/dev/urandom", "/dev/random", "/dev/hw_random")) - fputs_unlocked("After=systemd-random-seed.service\n", f); + fputs("After=systemd-random-seed.service\n", f); else if (!STR_IN_SET(password, "-", "none")) { _cleanup_free_ char *uu; @@ -168,8 +171,8 @@ static int create_disk( d, d); if (swap) - fputs_unlocked("Before=dev-mapper-%i.swap\n", - f); + fputs("Before=dev-mapper-%i.swap\n", + f); } else fprintf(f, "RequiresMountsFor=%s\n", @@ -372,6 +375,8 @@ static int add_crypttab_devices(void) { return 0; } + (void) __fsetlocking(f, FSETLOCKING_BYCALLER); + if (fstat(fileno(f), &st) < 0) { log_error_errno(errno, "Failed to stat /etc/crypttab: %m"); return 0; |