diff options
| author | Ingo Molnar <mingo@kernel.org> | 2018-02-17 11:39:28 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2018-02-17 11:39:28 +0100 |
| commit | 7057bb975dab827997e0ca9dd92cafef0856b0cc (patch) | |
| tree | 7784dc59c03f25b6bc4fa5cc12d5b61cb8b53765 /include/linux/init.h | |
| parent | 33ea4b24277b06dbc55d7f5772a46f029600255e (diff) | |
| parent | 297f9233b53a08fd457815e19f1d6f2c3389857b (diff) | |
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/init.h')
| -rw-r--r-- | include/linux/init.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/init.h b/include/linux/init.h index ea1b31101d9e..506a98151131 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -5,6 +5,13 @@ #include <linux/compiler.h> #include <linux/types.h> +/* Built-in __init functions needn't be compiled with retpoline */ +#if defined(RETPOLINE) && !defined(MODULE) +#define __noretpoline __attribute__((indirect_branch("keep"))) +#else +#define __noretpoline +#endif + /* These macros are used to mark some functions or * initialized data (doesn't apply to uninitialized data) * as `initialization' functions. The kernel can take this @@ -40,7 +47,7 @@ /* These are for everybody (although not all archs will actually discard it in modules) */ -#define __init __section(.init.text) __cold __latent_entropy +#define __init __section(.init.text) __cold __latent_entropy __noretpoline #define __initdata __section(.init.data) #define __initconst __section(.init.rodata) #define __exitdata __section(.exit.data) |
