This source file includes following definitions.
- boot_init_stack_canary
1
2
3
4
5
6
7 #ifndef _ASM_STACKPROTECTOR_H
8 #define _ASM_STACKPROTECTOR_H
9
10 #include <linux/random.h>
11 #include <linux/version.h>
12 #include <asm/reg.h>
13 #include <asm/current.h>
14 #include <asm/paca.h>
15
16
17
18
19
20
21
22 static __always_inline void boot_init_stack_canary(void)
23 {
24 unsigned long canary;
25
26
27 canary = get_random_canary();
28 canary ^= mftb();
29 canary ^= LINUX_VERSION_CODE;
30 canary &= CANARY_MASK;
31
32 current->stack_canary = canary;
33 #ifdef CONFIG_PPC64
34 get_paca()->canary = canary;
35 #endif
36 }
37
38 #endif