summaryrefslogtreecommitdiff
path: root/src/fstab-generator
diff options
context:
space:
mode:
authorDaan De Meyer <daan.j.demeyer@gmail.com>2023-05-10 10:34:43 +0200
committerDaan De Meyer <daan.j.demeyer@gmail.com>2023-05-11 14:44:14 +0200
commit200268c6db95f270a0cce21f825912b71f99df74 (patch)
tree7db083a2e249e53fb64da11fed37652bdf5359e2 /src/fstab-generator
parent885b5cabe29d98ba7406d03aa5b4a2560c892504 (diff)
downloadsystemd-200268c6db95f270a0cce21f825912b71f99df74.tar.gz
fstab-generator: Take systemd.verity= into account
Disable verity logic if systemd.verity= switch is disabled.
Diffstat (limited to 'src/fstab-generator')
-rw-r--r--src/fstab-generator/fstab-generator.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index dae290c889..c60a56b067 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -60,6 +60,7 @@ static char *arg_usr_fstype = NULL;
static char *arg_usr_options = NULL;
static char *arg_usr_hash = NULL;
static VolatileMode arg_volatile_mode = _VOLATILE_MODE_INVALID;
+static bool arg_verity = true;
STATIC_DESTRUCTOR_REGISTER(arg_root_what, freep);
STATIC_DESTRUCTOR_REGISTER(arg_root_fstype, freep);
@@ -1216,6 +1217,14 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
log_warning("Failed to parse systemd.swap switch %s. Ignoring.", value);
else
arg_swap_enabled = r;
+
+ } else if (streq(key, "systemd.verity")) {
+
+ r = value ? parse_boolean(value) : 1;
+ if (r < 0)
+ log_warning("Failed to parse systemd.verity= kernel command line switch %s. Ignoring.", value);
+ else
+ arg_verity = r;
}
return 0;
@@ -1233,6 +1242,9 @@ static int determine_device(char **what, const char *hash, const char *name) {
if (!hash)
return 0;
+ if (!arg_verity)
+ return 0;
+
*what = path_join("/dev/mapper/", name);
if (!*what)
return log_oom();