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); |