aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-01-23 12:31:01 -0500
committerTejun Heo <tj@kernel.org>2013-01-23 12:31:01 -0500
commitc14afb82ffff5903a701a9fb737ac20f36d1f755 (patch)
tree304dcc7b1d7b9a5f564f7e978228e61ef41fbef2 /init
parent0fdff3ec6d87856cdcc99e69cf42143fdd6c56b4 (diff)
parent1d8549085377674224bf30a368284c391a3ce40e (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/Kconfig4
-rw-r--r--init/do_mounts_initrd.c4
-rw-r--r--init/main.c8
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
882config MEMCG_KMEM 882config 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
1187config SYSCTL 1187config 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);
36static int init_linuxrc(struct subprocess_info *info, struct cred *new) 36static 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)
810static int run_init_process(const char *init_filename) 810static 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
816static void __init kernel_init_freeable(void); 818static noinline void __init kernel_init_freeable(void);
817 819
818static int __ref kernel_init(void *unused) 820static 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
859static void __init kernel_init_freeable(void) 861static 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.