diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-05 01:56:41 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-05 01:56:41 -0500 |
commit | 469da62096e23adc755c1268b00b5fc7a214151b (patch) | |
tree | fefd055fdae584e38d551f44d1339eb22cee4ed9 /init | |
parent | 4227961650884a06757f80877d5dce0bddc723d4 (diff) | |
parent | 88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7 (diff) |
Merge tag 'v3.8-rc6' into next/soc
Linux 3.8-rc6
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 2 | ||||
-rw-r--r-- | init/do_mounts_initrd.c | 4 | ||||
-rw-r--r-- | init/main.c | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/init/Kconfig b/init/Kconfig index 7d30240e5bfe..be8b7f55312d 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -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 5e4ded51788e..f9acf71b9810 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 85d69dffe864..cee4b5c66d81 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -604,7 +604,7 @@ asmlinkage void __init start_kernel(void) | |||
604 | pidmap_init(); | 604 | pidmap_init(); |
605 | anon_vma_init(); | 605 | anon_vma_init(); |
606 | #ifdef CONFIG_X86 | 606 | #ifdef CONFIG_X86 |
607 | if (efi_enabled) | 607 | if (efi_enabled(EFI_RUNTIME_SERVICES)) |
608 | efi_enter_virtual_mode(); | 608 | efi_enter_virtual_mode(); |
609 | #endif | 609 | #endif |
610 | thread_info_cache_init(); | 610 | thread_info_cache_init(); |
@@ -632,7 +632,7 @@ asmlinkage void __init start_kernel(void) | |||
632 | acpi_early_init(); /* before LAPIC and SMP init */ | 632 | acpi_early_init(); /* before LAPIC and SMP init */ |
633 | sfi_init_late(); | 633 | sfi_init_late(); |
634 | 634 | ||
635 | if (efi_enabled) { | 635 | if (efi_enabled(EFI_RUNTIME_SERVICES)) { |
636 | efi_late_init(); | 636 | efi_late_init(); |
637 | efi_free_boot_services(); | 637 | efi_free_boot_services(); |
638 | } | 638 | } |
@@ -802,7 +802,7 @@ static int run_init_process(const char *init_filename) | |||
802 | (const char __user *const __user *)envp_init); | 802 | (const char __user *const __user *)envp_init); |
803 | } | 803 | } |
804 | 804 | ||
805 | static void __init kernel_init_freeable(void); | 805 | static noinline void __init kernel_init_freeable(void); |
806 | 806 | ||
807 | static int __ref kernel_init(void *unused) | 807 | static int __ref kernel_init(void *unused) |
808 | { | 808 | { |
@@ -845,7 +845,7 @@ static int __ref kernel_init(void *unused) | |||
845 | "See Linux Documentation/init.txt for guidance."); | 845 | "See Linux Documentation/init.txt for guidance."); |
846 | } | 846 | } |
847 | 847 | ||
848 | static void __init kernel_init_freeable(void) | 848 | static noinline void __init kernel_init_freeable(void) |
849 | { | 849 | { |
850 | /* | 850 | /* |
851 | * Wait until kthreadd is all set-up. | 851 | * Wait until kthreadd is all set-up. |