Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
sh
include
asm
stackprotector.h
Go to the documentation of this file.
1
#ifndef __ASM_SH_STACKPROTECTOR_H
2
#define __ASM_SH_STACKPROTECTOR_H
3
4
#include <linux/random.h>
5
#include <linux/version.h>
6
7
extern
unsigned
long
__stack_chk_guard
;
8
9
/*
10
* Initialize the stackprotector canary value.
11
*
12
* NOTE: this must only be called from functions that never return,
13
* and it must always be inlined.
14
*/
15
static
__always_inline
void
boot_init_stack_canary(
void
)
16
{
17
unsigned
long
canary;
18
19
/* Try to get a semi random initial value. */
20
get_random_bytes
(&canary,
sizeof
(canary));
21
canary ^= LINUX_VERSION_CODE;
22
23
current
->stack_canary = canary;
24
__stack_chk_guard
=
current
->stack_canary;
25
}
26
27
#endif
/* __ASM_SH_STACKPROTECTOR_H */
Generated on Thu Jan 10 2013 12:55:22 for Linux Kernel by
1.8.2