Skip to content

Commit 121388a

Browse files
labbotttorvalds
authored andcommitted
init: move stack canary initialization after setup_arch
Patch series "Command line randomness", v3. A series to add the kernel command line as a source of randomness. This patch (of 2): Stack canary intialization involves getting a random number. Getting this random number may involve accessing caches or other architectural specific features which are not available until after the architecture is setup. Move the stack canary initialization later to accommodate this. Link: http://lkml.kernel.org/r/20170816231458.2299-2-labbott@redhat.com Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Signed-off-by: Laura Abbott <labbott@redhat.com> Acked-by: Kees Cook <keescook@chromium.org> Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Daniel Micay <danielmicay@gmail.com> Cc: Nick Kralevich <nnk@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 9367bb7 commit 121388a

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

init/main.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -515,12 +515,6 @@ asmlinkage __visible void __init start_kernel(void)
515515
smp_setup_processor_id();
516516
debug_objects_early_init();
517517

518-
/*
519-
* Set up the initial canary ASAP:
520-
*/
521-
add_latent_entropy();
522-
boot_init_stack_canary();
523-
524518
cgroup_init_early();
525519

526520
local_irq_disable();
@@ -534,6 +528,11 @@ asmlinkage __visible void __init start_kernel(void)
534528
page_address_init();
535529
pr_notice("%s", linux_banner);
536530
setup_arch(&command_line);
531+
/*
532+
* Set up the the initial canary and entropy after arch
533+
*/
534+
add_latent_entropy();
535+
boot_init_stack_canary();
537536
mm_init_cpumask(&init_mm);
538537
setup_command_line(command_line);
539538
setup_nr_cpu_ids();

0 commit comments

Comments
 (0)