[PATCH] FIX CONFIG_CMDLINE is not avail when kernel config line in grub ends with --

From: hmy
Date: Thu Jun 30 2022 - 00:39:04 EST


when boot_command_line = grub-command "--" CONFIG_CMDLINE,
parse_args() will exit and without parsing the contents of CONFIG_CMDLINE

Signed-off-by: hmy <huanglin@xxxxxxxxxxxxx>
---
drivers/of/fdt.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index a8f5b6532165..696dc4179944 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1160,6 +1160,7 @@ int __init early_init_dt_scan_chosen(char *cmdline)
{
int l, node;
const char *p;
+ char *q;
const void *rng_seed;
const void *fdt = initial_boot_params;

@@ -1188,6 +1189,9 @@ int __init early_init_dt_scan_chosen(char *cmdline)
#if defined(CONFIG_CMDLINE_EXTEND)
strlcat(cmdline, " ", COMMAND_LINE_SIZE);
strlcat(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ q = strstr(data, "--");
+ if (q)
+ *q = '\0';
#elif defined(CONFIG_CMDLINE_FORCE)
strlcpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
#else
--
2.20.1