|
@@ -301,9 +301,9 @@ do { \
|
|
|
* jmp *%edx for x86_32
|
|
|
*/
|
|
|
#ifdef CONFIG_RETPOLINE
|
|
|
-#ifdef CONFIG_X86_64
|
|
|
-# define RETPOLINE_RAX_BPF_JIT_SIZE 17
|
|
|
-# define RETPOLINE_RAX_BPF_JIT() \
|
|
|
+# ifdef CONFIG_X86_64
|
|
|
+# define RETPOLINE_RAX_BPF_JIT_SIZE 17
|
|
|
+# define RETPOLINE_RAX_BPF_JIT() \
|
|
|
do { \
|
|
|
EMIT1_off32(0xE8, 7); /* callq do_rop */ \
|
|
|
/* spec_trap: */ \
|
|
@@ -314,8 +314,8 @@ do { \
|
|
|
EMIT4(0x48, 0x89, 0x04, 0x24); /* mov %rax,(%rsp) */ \
|
|
|
EMIT1(0xC3); /* retq */ \
|
|
|
} while (0)
|
|
|
-#else
|
|
|
-# define RETPOLINE_EDX_BPF_JIT() \
|
|
|
+# else /* !CONFIG_X86_64 */
|
|
|
+# define RETPOLINE_EDX_BPF_JIT() \
|
|
|
do { \
|
|
|
EMIT1_off32(0xE8, 7); /* call do_rop */ \
|
|
|
/* spec_trap: */ \
|
|
@@ -326,17 +326,16 @@ do { \
|
|
|
EMIT3(0x89, 0x14, 0x24); /* mov %edx,(%esp) */ \
|
|
|
EMIT1(0xC3); /* ret */ \
|
|
|
} while (0)
|
|
|
-#endif
|
|
|
+# endif
|
|
|
#else /* !CONFIG_RETPOLINE */
|
|
|
-
|
|
|
-#ifdef CONFIG_X86_64
|
|
|
-# define RETPOLINE_RAX_BPF_JIT_SIZE 2
|
|
|
-# define RETPOLINE_RAX_BPF_JIT() \
|
|
|
- EMIT2(0xFF, 0xE0); /* jmp *%rax */
|
|
|
-#else
|
|
|
-# define RETPOLINE_EDX_BPF_JIT() \
|
|
|
- EMIT2(0xFF, 0xE2) /* jmp *%edx */
|
|
|
-#endif
|
|
|
+# ifdef CONFIG_X86_64
|
|
|
+# define RETPOLINE_RAX_BPF_JIT_SIZE 2
|
|
|
+# define RETPOLINE_RAX_BPF_JIT() \
|
|
|
+ EMIT2(0xFF, 0xE0); /* jmp *%rax */
|
|
|
+# else /* !CONFIG_X86_64 */
|
|
|
+# define RETPOLINE_EDX_BPF_JIT() \
|
|
|
+ EMIT2(0xFF, 0xE2) /* jmp *%edx */
|
|
|
+# endif
|
|
|
#endif
|
|
|
|
|
|
#endif /* _ASM_X86_NOSPEC_BRANCH_H_ */
|