File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change 5
5
#include <linux/compiler.h>
6
6
#include <linux/types.h>
7
7
8
+ /* Built-in __init functions needn't be compiled with retpoline */
9
+ #if defined(RETPOLINE ) && !defined(MODULE )
10
+ #define __noretpoline __attribute__((indirect_branch("keep")))
11
+ #else
12
+ #define __noretpoline
13
+ #endif
14
+
8
15
/* These macros are used to mark some functions or
9
16
* initialized data (doesn't apply to uninitialized data)
10
17
* as `initialization' functions. The kernel can take this
40
47
41
48
/* These are for everybody (although not all archs will actually
42
49
discard it in modules) */
43
- #define __init __section(.init.text) __cold __latent_entropy
50
+ #define __init __section(.init.text) __cold __latent_entropy __noretpoline
44
51
#define __initdata __section(.init.data)
45
52
#define __initconst __section(.init.rodata)
46
53
#define __exitdata __section(.exit.data)
You can’t perform that action at this time.
0 commit comments