diff options
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r-- | arch/arm/kernel/process.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 82ab015bf42b..16601d1442d1 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -39,7 +39,7 @@ | |||
39 | #include <asm/tls.h> | 39 | #include <asm/tls.h> |
40 | #include <asm/vdso.h> | 40 | #include <asm/vdso.h> |
41 | 41 | ||
42 | #ifdef CONFIG_STACKPROTECTOR | 42 | #if defined(CONFIG_STACKPROTECTOR) && !defined(CONFIG_STACKPROTECTOR_PER_TASK) |
43 | #include <linux/stackprotector.h> | 43 | #include <linux/stackprotector.h> |
44 | unsigned long __stack_chk_guard __read_mostly; | 44 | unsigned long __stack_chk_guard __read_mostly; |
45 | EXPORT_SYMBOL(__stack_chk_guard); | 45 | EXPORT_SYMBOL(__stack_chk_guard); |
@@ -267,6 +267,10 @@ copy_thread(unsigned long clone_flags, unsigned long stack_start, | |||
267 | 267 | ||
268 | thread_notify(THREAD_NOTIFY_COPY, thread); | 268 | thread_notify(THREAD_NOTIFY_COPY, thread); |
269 | 269 | ||
270 | #ifdef CONFIG_STACKPROTECTOR_PER_TASK | ||
271 | thread->stack_canary = p->stack_canary; | ||
272 | #endif | ||
273 | |||
270 | return 0; | 274 | return 0; |
271 | } | 275 | } |
272 | 276 | ||