[PATCH] init/bootconfig: pass init arguments in documented order
From: Avi Weiss
Date: Tue Oct 27 2026 - 03:47:55 EST
start_kernel() appends command-line init arguments before
bootconfig init arguments, while setup_command_line()
places them in the opposite order. As a result, the
arguments passed to init do not match the saved command
line, reversing the intended precedence of options.
Parse extra_init_args before after_dashes so command-line
init arguments are passed last.
Fixes: 1319916209ce ("bootconfig: init: Allow admin to use bootconfig for init command line")
Signed-off-by: Avi Weiss <thnkslprpt@xxxxxxxxx>
---
init/main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/init/main.c b/init/main.c
index 27f4cb392349..3a270bb96aed 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1089,12 +1089,12 @@ void start_kernel(void)
__stop___param - __start___param,
-1, -1, NULL, &unknown_bootoption);
print_unknown_bootoptions();
- if (!IS_ERR_OR_NULL(after_dashes))
- parse_args("Setting init args", after_dashes, NULL, 0, -1, -1,
- NULL, set_init_arg);
if (extra_init_args)
parse_args("Setting extra init args", extra_init_args,
NULL, 0, -1, -1, NULL, set_init_arg);
+ if (!IS_ERR_OR_NULL(after_dashes))
+ parse_args("Setting init args", after_dashes, NULL, 0, -1, -1,
+ NULL, set_init_arg);
/* Architectural and non-timekeeping rng init, before allocator init */
random_init_early(command_line);
base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
--
2.43.0