summaryrefslogtreecommitdiff
path: root/src/cryptsetup/cryptsetup-generator.c
diff options
context:
space:
mode:
authorJonathan Lebon <jonathan@jlebon.com>2020-09-23 15:23:58 -0400
committerJonathan Lebon <jonathan@jlebon.com>2020-09-23 15:31:31 -0400
commit62ca7d3b38dbbfbffa0aa0d3746b6be2916530b5 (patch)
tree9cd9d9caf80eeca1473122b238b72f1a0cab632d /src/cryptsetup/cryptsetup-generator.c
parenta5d815bb7ff7b9116b3c92b656d5ecd4f684674a (diff)
downloadsystemd-62ca7d3b38dbbfbffa0aa0d3746b6be2916530b5.tar.gz
cryptsetup-generator: use "/proc/cmdline" as source when appropriate
Right now, we always say `/etc/crypttab` even if the source was fully derived from the kargs. Let's match what `systemd-fstab-generator` does and use `/proc/cmdline` when that's the case.
Diffstat (limited to 'src/cryptsetup/cryptsetup-generator.c')
-rw-r--r--src/cryptsetup/cryptsetup-generator.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index dec4d20181..9a1ddf2094 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -274,7 +274,8 @@ static int create_disk(
const char *device,
const char *password,
const char *keydev,
- const char *options) {
+ const char *options,
+ const char *source) {
_cleanup_free_ char *n = NULL, *d = NULL, *u = NULL, *e = NULL,
*keydev_mount = NULL, *keyfile_timeout_value = NULL,
@@ -343,7 +344,7 @@ static int create_disk(
if (r < 0)
return r;
- r = generator_write_cryptsetup_unit_section(f, arg_crypttab);
+ r = generator_write_cryptsetup_unit_section(f, source);
if (r < 0)
return r;
@@ -680,7 +681,7 @@ static int add_crypttab_devices(void) {
if (r < 0)
return r;
- r = create_disk(name, device, keyfile, keydev, (d && d->options) ? d->options : options);
+ r = create_disk(name, device, keyfile, keydev, (d && d->options) ? d->options : options, arg_crypttab);
if (r < 0)
return r;
@@ -715,7 +716,8 @@ static int add_proc_cmdline_devices(void) {
device,
d->keyfile ?: arg_default_keyfile,
d->keydev,
- d->options ?: arg_default_options);
+ d->options ?: arg_default_options,
+ "/proc/cmdline");
if (r < 0)
return r;
}