diff options
| -rw-r--r-- | arch/x86/kernel/process_64.c | 1 | ||||
| -rw-r--r-- | include/linux/stackprotector.h | 4 | ||||
| -rw-r--r-- | init/main.c | 6 | 
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 5107cb214c7..cce47f7fbf2 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -16,6 +16,7 @@  #include <stdarg.h> +#include <linux/stackprotector.h>  #include <linux/cpu.h>  #include <linux/errno.h>  #include <linux/sched.h> diff --git a/include/linux/stackprotector.h b/include/linux/stackprotector.h index 422e71aafd0..6f3e54c704c 100644 --- a/include/linux/stackprotector.h +++ b/include/linux/stackprotector.h @@ -1,6 +1,10 @@  #ifndef _LINUX_STACKPROTECTOR_H  #define _LINUX_STACKPROTECTOR_H 1 +#include <linux/compiler.h> +#include <linux/sched.h> +#include <linux/random.h> +  #ifdef CONFIG_CC_STACKPROTECTOR  # include <asm/stackprotector.h>  #else diff --git a/init/main.c b/init/main.c index a84322ca64a..b44e4eb0f5e 100644 --- a/init/main.c +++ b/init/main.c @@ -546,6 +546,12 @@ asmlinkage void __init start_kernel(void)  	unwind_init();  	lockdep_init();  	debug_objects_early_init(); + +	/* +	 * Set up the the initial canary ASAP: +	 */ +	boot_init_stack_canary(); +  	cgroup_init_early();  	local_irq_disable();  |