summaryrefslogtreecommitdiff
path: root/init/main.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-25 09:11:19 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-25 09:11:19 +0200
commitc2312ff575fcaed96889d5bb5392afcc604c9442 (patch)
tree475d63360ee17732fac41c7c1e4a1636ed92e7cb /init/main.c
parenta3975dea1696b7c81319dc4b66e3c378dd47ccfb (diff)
parent9cb1fd0efd195590b828b9b865421ad345a4a145 (diff)
downloadlinux-c2312ff575fcaed96889d5bb5392afcc604c9442.tar.gz
linux-c2312ff575fcaed96889d5bb5392afcc604c9442.zip
Merge 5.7-rc7 into staging-next
We need the staging/iio fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/init/main.c b/init/main.c
index 1a5da2c2660c..03371976d387 100644
--- a/init/main.c
+++ b/init/main.c
@@ -400,9 +400,8 @@ static void __init setup_boot_config(const char *cmdline)
char *data, *copy;
int ret;
+ /* Cut out the bootconfig data even if we have no bootconfig option */
data = get_boot_config_from_initrd(&size, &csum);
- if (!data)
- goto not_found;
strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL,
@@ -411,6 +410,11 @@ static void __init setup_boot_config(const char *cmdline)
if (!bootconfig_found)
return;
+ if (!data) {
+ pr_err("'bootconfig' found on command line, but no bootconfig found\n");
+ return;
+ }
+
if (size >= XBC_DATA_MAX) {
pr_err("bootconfig size %d greater than max size %d\n",
size, XBC_DATA_MAX);
@@ -446,8 +450,6 @@ static void __init setup_boot_config(const char *cmdline)
extra_init_args = xbc_make_cmdline("init");
}
return;
-not_found:
- pr_err("'bootconfig' found on command line, but no bootconfig found\n");
}
#else
@@ -1036,6 +1038,8 @@ asmlinkage __visible void __init start_kernel(void)
/* Do the rest non-__init'ed, we're now alive */
arch_call_rest_init();
+
+ prevent_tail_call_optimization();
}
/* Call all constructor functions linked into the kernel. */