vfs, fdtable: Prevent bounds-check bypass via speculative execution
[pandora-kernel.git] / include / linux / stddef.h
1 #ifndef _LINUX_STDDEF_H
2 #define _LINUX_STDDEF_H
3
4 #include <linux/compiler.h>
5
6 #undef NULL
7 #if defined(__cplusplus)
8 #define NULL 0
9 #else
10 #define NULL ((void *)0)
11 #endif
12
13 #ifdef __KERNEL__
14
15 enum {
16         false   = 0,
17         true    = 1
18 };
19
20 #undef offsetof
21 #ifdef __compiler_offsetof
22 #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
23 #else
24 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
25 #endif
26
27 /**
28  * offsetofend(TYPE, MEMBER)
29  *
30  * @TYPE: The type of the structure
31  * @MEMBER: The member within the structure to get the end offset of
32  */
33 #define offsetofend(TYPE, MEMBER) \
34         (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER))
35
36 #endif /* __KERNEL__ */
37
38 #endif