diff options
author | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-05-10 10:34:43 +0200 |
---|---|---|
committer | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-05-11 14:44:14 +0200 |
commit | 200268c6db95f270a0cce21f825912b71f99df74 (patch) | |
tree | 7db083a2e249e53fb64da11fed37652bdf5359e2 /src/fstab-generator | |
parent | 885b5cabe29d98ba7406d03aa5b4a2560c892504 (diff) | |
download | systemd-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.c | 12 |
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(); |