aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/init/main.c b/init/main.c
index 1687b0167c4a..a87d4ca5c36c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -52,12 +52,14 @@
52#include <linux/unwind.h> 52#include <linux/unwind.h>
53#include <linux/buffer_head.h> 53#include <linux/buffer_head.h>
54#include <linux/debug_locks.h> 54#include <linux/debug_locks.h>
55#include <linux/debugobjects.h>
55#include <linux/lockdep.h> 56#include <linux/lockdep.h>
56#include <linux/pid_namespace.h> 57#include <linux/pid_namespace.h>
57#include <linux/device.h> 58#include <linux/device.h>
58#include <linux/kthread.h> 59#include <linux/kthread.h>
59#include <linux/sched.h> 60#include <linux/sched.h>
60#include <linux/signal.h> 61#include <linux/signal.h>
62#include <linux/idr.h>
61 63
62#include <asm/io.h> 64#include <asm/io.h>
63#include <asm/bugs.h> 65#include <asm/bugs.h>
@@ -458,7 +460,7 @@ static void noinline __init_refok rest_init(void)
458 kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); 460 kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
459 numa_default_policy(); 461 numa_default_policy();
460 pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); 462 pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
461 kthreadd_task = find_task_by_pid(pid); 463 kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
462 unlock_kernel(); 464 unlock_kernel();
463 465
464 /* 466 /*
@@ -542,6 +544,7 @@ asmlinkage void __init start_kernel(void)
542 */ 544 */
543 unwind_init(); 545 unwind_init();
544 lockdep_init(); 546 lockdep_init();
547 debug_objects_early_init();
545 cgroup_init_early(); 548 cgroup_init_early();
546 549
547 local_irq_disable(); 550 local_irq_disable();
@@ -559,6 +562,7 @@ asmlinkage void __init start_kernel(void)
559 printk(KERN_NOTICE); 562 printk(KERN_NOTICE);
560 printk(linux_banner); 563 printk(linux_banner);
561 setup_arch(&command_line); 564 setup_arch(&command_line);
565 mm_init_owner(&init_mm, &init_task);
562 setup_command_line(command_line); 566 setup_command_line(command_line);
563 unwind_setup(); 567 unwind_setup();
564 setup_per_cpu_areas(); 568 setup_per_cpu_areas();
@@ -636,6 +640,8 @@ asmlinkage void __init start_kernel(void)
636 enable_debug_pagealloc(); 640 enable_debug_pagealloc();
637 cpu_hotplug_init(); 641 cpu_hotplug_init();
638 kmem_cache_init(); 642 kmem_cache_init();
643 debug_objects_mem_init();
644 idr_init_cache();
639 setup_per_cpu_pageset(); 645 setup_per_cpu_pageset();
640 numa_policy_init(); 646 numa_policy_init();
641 if (late_time_init) 647 if (late_time_init)
@@ -700,10 +706,8 @@ static void __init do_initcalls(void)
700 int result; 706 int result;
701 707
702 if (initcall_debug) { 708 if (initcall_debug) {
703 printk("Calling initcall 0x%p", *call); 709 print_fn_descriptor_symbol("calling %s()\n",
704 print_fn_descriptor_symbol(": %s()",
705 (unsigned long) *call); 710 (unsigned long) *call);
706 printk("\n");
707 t0 = ktime_get(); 711 t0 = ktime_get();
708 } 712 }
709 713
@@ -713,15 +717,10 @@ static void __init do_initcalls(void)
713 t1 = ktime_get(); 717 t1 = ktime_get();
714 delta = ktime_sub(t1, t0); 718 delta = ktime_sub(t1, t0);
715 719
716 printk("initcall 0x%p", *call); 720 print_fn_descriptor_symbol("initcall %s()",
717 print_fn_descriptor_symbol(": %s()",
718 (unsigned long) *call); 721 (unsigned long) *call);
719 printk(" returned %d.\n", result); 722 printk(" returned %d after %Ld msecs\n", result,
720 723 (unsigned long long) delta.tv64 >> 20);
721 printk("initcall 0x%p ran for %Ld msecs: ",
722 *call, (unsigned long long)delta.tv64 >> 20);
723 print_fn_descriptor_symbol("%s()\n",
724 (unsigned long) *call);
725 } 724 }
726 725
727 if (result && result != -ENODEV && initcall_debug) { 726 if (result && result != -ENODEV && initcall_debug) {
@@ -737,10 +736,9 @@ static void __init do_initcalls(void)
737 local_irq_enable(); 736 local_irq_enable();
738 } 737 }
739 if (msg) { 738 if (msg) {
740 printk(KERN_WARNING "initcall at 0x%p", *call); 739 print_fn_descriptor_symbol(KERN_WARNING "initcall %s()",
741 print_fn_descriptor_symbol(": %s()",
742 (unsigned long) *call); 740 (unsigned long) *call);
743 printk(": returned with %s\n", msg); 741 printk(" returned with %s\n", msg);
744 } 742 }
745 } 743 }
746 744
@@ -807,6 +805,8 @@ static int noinline init_post(void)
807 (void) sys_dup(0); 805 (void) sys_dup(0);
808 (void) sys_dup(0); 806 (void) sys_dup(0);
809 807
808 current->signal->flags |= SIGNAL_UNKILLABLE;
809
810 if (ramdisk_execute_command) { 810 if (ramdisk_execute_command) {
811 run_init_process(ramdisk_execute_command); 811 run_init_process(ramdisk_execute_command);
812 printk(KERN_WARNING "Failed to execute %s\n", 812 printk(KERN_WARNING "Failed to execute %s\n",