Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-block.git] / init / main.c
index 949306bb5b6ad8e8930ecd11ccac910466674081..0ee9c6866ada1d9877c6afd50e23237eab6dfb4c 100644 (file)
@@ -515,12 +515,6 @@ asmlinkage __visible void __init start_kernel(void)
        smp_setup_processor_id();
        debug_objects_early_init();
 
-       /*
-        * Set up the initial canary ASAP:
-        */
-       add_latent_entropy();
-       boot_init_stack_canary();
-
        cgroup_init_early();
 
        local_irq_disable();
@@ -534,6 +528,13 @@ asmlinkage __visible void __init start_kernel(void)
        page_address_init();
        pr_notice("%s", linux_banner);
        setup_arch(&command_line);
+       /*
+        * Set up the the initial canary and entropy after arch
+        * and after adding latent and command line entropy.
+        */
+       add_latent_entropy();
+       add_device_randomness(command_line, strlen(command_line));
+       boot_init_stack_canary();
        mm_init_cpumask(&init_mm);
        setup_command_line(command_line);
        setup_nr_cpu_ids();