diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 23:27:50 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 23:27:50 -0500 |
| commit | ce6513f758b1852a2f24f76f07d0fae304d24ad3 (patch) | |
| tree | 2186f8d1f4389734f5f6a4b20e448651edf57815 /init | |
| parent | d8fe4acc88da8fbbe360b6592c9d0abbb85117dc (diff) | |
| parent | b6568b1a19ad995221d1816c4fcdd116d9c33e42 (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.c | 7 |
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]; | |||
| 131 | char *saved_command_line; | 131 | char *saved_command_line; |
| 132 | /* Command line for parameter parsing */ | 132 | /* Command line for parameter parsing */ |
| 133 | static char *static_command_line; | 133 | static char *static_command_line; |
| 134 | /* Command line for per-initcall parameter parsing */ | ||
| 135 | static char *initcall_command_line; | ||
| 134 | 136 | ||
| 135 | static char *execute_command; | 137 | static char *execute_command; |
| 136 | static char *ramdisk_execute_command; | 138 | static char *ramdisk_execute_command; |
| @@ -354,6 +356,7 @@ static inline void smp_prepare_cpus(unsigned int maxcpus) { } | |||
| 354 | static void __init setup_command_line(char *command_line) | 356 | static 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); |
