]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
init/main.c: return 1 from handled __setup() functions
authorRandy Dunlap <rdunlap@infradead.org>
Wed, 23 Mar 2022 23:06:14 +0000 (16:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2022 02:00:34 +0000 (19:00 -0700)
initcall_blacklist() should return 1 to indicate that it handled its
cmdline arguments.

set_debug_rodata() should return 1 to indicate that it handled its
cmdline arguments.  Print a warning if the option string is invalid.

This prevents these strings from being added to the 'init' program's
environment as they are not init arguments/parameters.

Link: https://lkml.kernel.org/r/20220221050901.23985-1-rdunlap@infradead.org
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/main.c

index c8edcc3029b18f79612590b12727596a5df5271c..4a12c9546f699aed9fecd7a20cd1976e4ba48579 100644 (file)
@@ -1190,7 +1190,7 @@ static int __init initcall_blacklist(char *str)
                }
        } while (str_entry);
 
-       return 0;
+       return 1;
 }
 
 static bool __init_or_module initcall_blacklisted(initcall_t fn)
@@ -1448,7 +1448,9 @@ static noinline void __init kernel_init_freeable(void);
 bool rodata_enabled __ro_after_init = true;
 static int __init set_debug_rodata(char *str)
 {
-       return strtobool(str, &rodata_enabled);
+       if (strtobool(str, &rodata_enabled))
+               pr_warn("Invalid option string for rodata: '%s'\n", str);
+       return 1;
 }
 __setup("rodata=", set_debug_rodata);
 #endif