diff options
| author | Tejun Heo <tj@kernel.org> | 2013-01-23 12:31:01 -0500 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2013-01-23 12:31:01 -0500 |
| commit | c14afb82ffff5903a701a9fb737ac20f36d1f755 (patch) | |
| tree | 304dcc7b1d7b9a5f564f7e978228e61ef41fbef2 /init | |
| parent | 0fdff3ec6d87856cdcc99e69cf42143fdd6c56b4 (diff) | |
| parent | 1d8549085377674224bf30a368284c391a3ce40e (diff) | |
Merge branch 'master' into for-3.9-async
To receive f56c3196f251012de9b3ebaff55732a9074fdaae ("async: fix
__lowest_in_progress()").
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 4 | ||||
| -rw-r--r-- | init/do_mounts_initrd.c | 4 | ||||
| -rw-r--r-- | init/main.c | 8 |
3 files changed, 11 insertions, 5 deletions
diff --git a/init/Kconfig b/init/Kconfig index 675d8a2326cf..be8b7f55312d 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
| @@ -882,7 +882,7 @@ config MEMCG_SWAP_ENABLED | |||
| 882 | config MEMCG_KMEM | 882 | config MEMCG_KMEM |
| 883 | bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" | 883 | bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" |
| 884 | depends on MEMCG && EXPERIMENTAL | 884 | depends on MEMCG && EXPERIMENTAL |
| 885 | default n | 885 | depends on SLUB || SLAB |
| 886 | help | 886 | help |
| 887 | The Kernel Memory extension for Memory Resource Controller can limit | 887 | The Kernel Memory extension for Memory Resource Controller can limit |
| 888 | the amount of memory used by kernel objects in the system. Those are | 888 | the amount of memory used by kernel objects in the system. Those are |
| @@ -1182,7 +1182,7 @@ config CC_OPTIMIZE_FOR_SIZE | |||
| 1182 | Enabling this option will pass "-Os" instead of "-O2" to gcc | 1182 | Enabling this option will pass "-Os" instead of "-O2" to gcc |
| 1183 | resulting in a smaller kernel. | 1183 | resulting in a smaller kernel. |
| 1184 | 1184 | ||
| 1185 | If unsure, say Y. | 1185 | If unsure, say N. |
| 1186 | 1186 | ||
| 1187 | config SYSCTL | 1187 | config SYSCTL |
| 1188 | bool | 1188 | bool |
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index dfe606a7dd61..a32ec1ce882b 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c | |||
| @@ -36,6 +36,10 @@ __setup("noinitrd", no_initrd); | |||
| 36 | static int init_linuxrc(struct subprocess_info *info, struct cred *new) | 36 | static int init_linuxrc(struct subprocess_info *info, struct cred *new) |
| 37 | { | 37 | { |
| 38 | sys_unshare(CLONE_FS | CLONE_FILES); | 38 | sys_unshare(CLONE_FS | CLONE_FILES); |
| 39 | /* stdin/stdout/stderr for /linuxrc */ | ||
| 40 | sys_open("/dev/console", O_RDWR, 0); | ||
| 41 | sys_dup(0); | ||
| 42 | sys_dup(0); | ||
| 39 | /* move initrd over / and chdir/chroot in initrd root */ | 43 | /* move initrd over / and chdir/chroot in initrd root */ |
| 40 | sys_chdir("/root"); | 44 | sys_chdir("/root"); |
| 41 | sys_mount(".", "/", NULL, MS_MOVE, NULL); | 45 | sys_mount(".", "/", NULL, MS_MOVE, NULL); |
diff --git a/init/main.c b/init/main.c index 18efadb11cf6..ef139bda591e 100644 --- a/init/main.c +++ b/init/main.c | |||
| @@ -810,10 +810,12 @@ void __init load_default_modules(void) | |||
| 810 | static int run_init_process(const char *init_filename) | 810 | static int run_init_process(const char *init_filename) |
| 811 | { | 811 | { |
| 812 | argv_init[0] = init_filename; | 812 | argv_init[0] = init_filename; |
| 813 | return kernel_execve(init_filename, argv_init, envp_init); | 813 | return do_execve(init_filename, |
| 814 | (const char __user *const __user *)argv_init, | ||
| 815 | (const char __user *const __user *)envp_init); | ||
| 814 | } | 816 | } |
| 815 | 817 | ||
| 816 | static void __init kernel_init_freeable(void); | 818 | static noinline void __init kernel_init_freeable(void); |
| 817 | 819 | ||
| 818 | static int __ref kernel_init(void *unused) | 820 | static int __ref kernel_init(void *unused) |
| 819 | { | 821 | { |
| @@ -856,7 +858,7 @@ static int __ref kernel_init(void *unused) | |||
| 856 | "See Linux Documentation/init.txt for guidance."); | 858 | "See Linux Documentation/init.txt for guidance."); |
| 857 | } | 859 | } |
| 858 | 860 | ||
| 859 | static void __init kernel_init_freeable(void) | 861 | static noinline void __init kernel_init_freeable(void) |
| 860 | { | 862 | { |
| 861 | /* | 863 | /* |
| 862 | * Wait until kthreadd is all set-up. | 864 | * Wait until kthreadd is all set-up. |
