aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandy Dunlap <[email protected]>2022-03-23 16:06:14 -0700
committerLinus Torvalds <[email protected]>2022-03-23 19:00:34 -0700
commitf9a40b0890658330c83c95511f9d6b396610defc (patch)
tree7c3d8dd5156d5753e24deb55f74bca0fbf96257d
parentabc7da58c4b388ab9f6a756c0f297c29d3af665f (diff)
init/main.c: return 1 from handled __setup() functions
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/[email protected] Signed-off-by: Randy Dunlap <[email protected]> Reported-by: Igor Zhbanov <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--init/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index c8edcc3029b1..4a12c9546f69 100644
--- a/init/main.c
+++ b/init/main.c
@@ -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