projects/linux·commit 5ea30e4e

stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms

5ea30e4e · Daniel Micay <[email protected]> · 2017-05-04 09:32:09 -04:00

The stack canary is an 'unsigned long' and should be fully initialized to
random data rather than only 32 bits of random data.

Signed-off-by: Daniel Micay <[email protected]>
Acked-by: Arjan van de Ven <[email protected]>
Acked-by: Rik van Riel <[email protected]>
Acked-by: Kees Cook <[email protected]>
Cc: Arjan van Ven <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Commit
5ea30e4e58040cfd6434c2f33dc3ea76e2c15b05
Parents
d3b5d352

Changes

1 files changed · +1 −1

FileStatusAddDelContent
kernel/fork.cmodified+1−1View file

kernel/fork.c

View file
diff --git a/kernel/fork.c b/kernel/fork.c
index 3a4343c..d681f8f 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -536,7 +536,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
set_task_stack_end_magic(tsk);
#ifdef CONFIG_CC_STACKPROTECTOR
- tsk->stack_canary = get_random_int();
+ tsk->stack_canary = get_random_long();
#endif
/*