diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c index b386c705e1..647c61ce73 100644 --- a/src/basic/proc-cmdline.c +++ b/src/basic/proc-cmdline.c @@ -66,7 +66,8 @@ int proc_cmdline_parse_given(const char *line, proc_cmdline_parse_t parse_item, if (flags & PROC_CMDLINE_STRIP_RD_PREFIX) key = q; - } + } else if (in_initrd() && flags & PROC_CMDLINE_RD_STRICT) + continue; value = strchr(key, '='); if (value) diff --git a/src/basic/proc-cmdline.h b/src/basic/proc-cmdline.h index ffc45fddb9..bb8b18d3b1 100644 --- a/src/basic/proc-cmdline.h +++ b/src/basic/proc-cmdline.h @@ -8,6 +8,7 @@ enum { PROC_CMDLINE_STRIP_RD_PREFIX = 1, PROC_CMDLINE_VALUE_OPTIONAL = 2, + PROC_CMDLINE_RD_STRICT = 4 }; typedef int (*proc_cmdline_parse_t)(const char *key, const char *value, void *data);