|
@@ -19,6 +19,7 @@ static __always_inline void boot_init_stack_canary(void)
|
|
/* Try to get a semi random initial value. */
|
|
/* Try to get a semi random initial value. */
|
|
get_random_bytes(&canary, sizeof(canary));
|
|
get_random_bytes(&canary, sizeof(canary));
|
|
canary ^= LINUX_VERSION_CODE;
|
|
canary ^= LINUX_VERSION_CODE;
|
|
|
|
+ canary &= CANARY_MASK;
|
|
|
|
|
|
current->stack_canary = canary;
|
|
current->stack_canary = canary;
|
|
__stack_chk_guard = current->stack_canary;
|
|
__stack_chk_guard = current->stack_canary;
|