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. |