aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 23:27:50 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 23:27:50 -0500
commitce6513f758b1852a2f24f76f07d0fae304d24ad3 (patch)
tree2186f8d1f4389734f5f6a4b20e448651edf57815 /init
parentd8fe4acc88da8fbbe360b6592c9d0abbb85117dc (diff)
parentb6568b1a19ad995221d1816c4fcdd116d9c33e42 (diff)
Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module updates from Rusty Russell: "Mainly boring here, too. rmmod --wait finally removed, though" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: modpost: fix bogus 'exported twice' warnings. init: fix in-place parameter modification regression asmlinkage, module: Make ksymtab and kcrctab symbols and __this_module __visible kernel: add support for init_array constructors modpost: Optionally ignore secondary errors seen if a single module build fails module: remove rmmod --wait option.
Diffstat (limited to 'init')
-rw-r--r--init/main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index 5f191133376f..01573fdfa186 100644
--- a/init/main.c
+++ b/init/main.c
@@ -131,6 +131,8 @@ char __initdata boot_command_line[COMMAND_LINE_SIZE];
131char *saved_command_line; 131char *saved_command_line;
132/* Command line for parameter parsing */ 132/* Command line for parameter parsing */
133static char *static_command_line; 133static char *static_command_line;
134/* Command line for per-initcall parameter parsing */
135static char *initcall_command_line;
134 136
135static char *execute_command; 137static char *execute_command;
136static char *ramdisk_execute_command; 138static char *ramdisk_execute_command;
@@ -354,6 +356,7 @@ static inline void smp_prepare_cpus(unsigned int maxcpus) { }
354static void __init setup_command_line(char *command_line) 356static void __init setup_command_line(char *command_line)
355{ 357{
356 saved_command_line = alloc_bootmem(strlen (boot_command_line)+1); 358 saved_command_line = alloc_bootmem(strlen (boot_command_line)+1);
359 initcall_command_line = alloc_bootmem(strlen (boot_command_line)+1);
357 static_command_line = alloc_bootmem(strlen (command_line)+1); 360 static_command_line = alloc_bootmem(strlen (command_line)+1);
358 strcpy (saved_command_line, boot_command_line); 361 strcpy (saved_command_line, boot_command_line);
359 strcpy (static_command_line, command_line); 362 strcpy (static_command_line, command_line);
@@ -751,9 +754,9 @@ static void __init do_initcall_level(int level)
751 extern const struct kernel_param __start___param[], __stop___param[]; 754 extern const struct kernel_param __start___param[], __stop___param[];
752 initcall_t *fn; 755 initcall_t *fn;
753 756
754 strcpy(static_command_line, saved_command_line); 757 strcpy(initcall_command_line, saved_command_line);
755 parse_args(initcall_level_names[level], 758 parse_args(initcall_level_names[level],
756 static_command_line, __start___param, 759 initcall_command_line, __start___param,
757 __stop___param - __start___param, 760 __stop___param - __start___param,
758 level, level, 761 level, level,
759 &repair_env_string); 762 &repair_env_string);