Thread (3 messages) 3 messages, 2 authors, 1d ago

[PATCH] init/bootconfig: pass init arguments in documented order

flat view
WARM1d

From: Avi Weiss <hidden>
Date: 2026-10-27 07:37:24
Also in: lkml
Subsystem: the rest · Maintainer: Linus Torvalds

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help