static int parse_proc_cmdline_item(const char *key, const char *value, void *data) { int r; if (proc_cmdline_key_streq(key, "systemd.verity")) { r = value ? parse_boolean(value) : 1; if (r < 0) log_warning("Failed to parse verity= kernel command line switch %s. Ignoring.", value); else arg_enabled = r; } else if (proc_cmdline_key_streq(key, "roothash")) { if (proc_cmdline_value_missing(key, value)) return 0; r = free_and_strdup(&arg_root_hash, value); if (r < 0) return log_oom(); } else if (proc_cmdline_key_streq(key, "systemd.verity_root_data")) { if (proc_cmdline_value_missing(key, value)) return 0; r = free_and_strdup(&arg_data_what, value); if (r < 0) return log_oom(); } else if (proc_cmdline_key_streq(key, "systemd.verity_root_hash")) { if (proc_cmdline_value_missing(key, value)) return 0; r = free_and_strdup(&arg_hash_what, value); if (r < 0) return log_oom(); } return 0; }
static int parse_proc_cmdline_item(const char *key, const char *value, void *data) { int r; assert(key); if (streq(key, "systemd.mask")) { char *n; if (proc_cmdline_value_missing(key, value)) return 0; r = unit_name_mangle(value, UNIT_NAME_MANGLE_WARN, &n); if (r < 0) return log_error_errno(r, "Failed to glob unit name: %m"); r = strv_consume(&arg_mask, n); if (r < 0) return log_oom(); } else if (streq(key, "systemd.wants")) { char *n; if (proc_cmdline_value_missing(key, value)) return 0; r = unit_name_mangle(value, UNIT_NAME_MANGLE_WARN, &n); if (r < 0) return log_error_errno(r, "Failed to glob unit name: %m"); r = strv_consume(&arg_wants, n); if (r < 0) return log_oom(); } else if (proc_cmdline_key_streq(key, "systemd.debug_shell")) { if (value) { r = parse_boolean(value); if (r < 0) log_error("Failed to parse systemd.debug_shell= argument '%s', ignoring.", value); else arg_debug_shell = r; } else arg_debug_shell = true; } else if (streq(key, "systemd.unit")) { if (proc_cmdline_value_missing(key, value)) return 0; r = free_and_strdup(&arg_default_unit, value); if (r < 0) return log_error_errno(r, "Failed to set default unit %s: %m", value); } else if (!value) { const char *target; target = runlevel_to_target(key); if (target) { r = free_and_strdup(&arg_default_unit, target); if (r < 0) return log_error_errno(r, "Failed to set default unit %s: %m", target); } } return 0; }