mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
bpf, x64: clean up retpoline emission slightly
Make the RETPOLINE_{RA,ED}X_BPF_JIT() a bit more readable by cleaning up the macro, aligning comments and spacing. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
631b1e3b83
commit
36256009b2
1 changed files with 14 additions and 15 deletions
|
@ -301,9 +301,9 @@ do { \
|
||||||
* jmp *%edx for x86_32
|
* jmp *%edx for x86_32
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_RETPOLINE
|
#ifdef CONFIG_RETPOLINE
|
||||||
#ifdef CONFIG_X86_64
|
# ifdef CONFIG_X86_64
|
||||||
# define RETPOLINE_RAX_BPF_JIT_SIZE 17
|
# define RETPOLINE_RAX_BPF_JIT_SIZE 17
|
||||||
# define RETPOLINE_RAX_BPF_JIT() \
|
# define RETPOLINE_RAX_BPF_JIT() \
|
||||||
do { \
|
do { \
|
||||||
EMIT1_off32(0xE8, 7); /* callq do_rop */ \
|
EMIT1_off32(0xE8, 7); /* callq do_rop */ \
|
||||||
/* spec_trap: */ \
|
/* spec_trap: */ \
|
||||||
|
@ -314,8 +314,8 @@ do { \
|
||||||
EMIT4(0x48, 0x89, 0x04, 0x24); /* mov %rax,(%rsp) */ \
|
EMIT4(0x48, 0x89, 0x04, 0x24); /* mov %rax,(%rsp) */ \
|
||||||
EMIT1(0xC3); /* retq */ \
|
EMIT1(0xC3); /* retq */ \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
# else /* !CONFIG_X86_64 */
|
||||||
# define RETPOLINE_EDX_BPF_JIT() \
|
# define RETPOLINE_EDX_BPF_JIT() \
|
||||||
do { \
|
do { \
|
||||||
EMIT1_off32(0xE8, 7); /* call do_rop */ \
|
EMIT1_off32(0xE8, 7); /* call do_rop */ \
|
||||||
/* spec_trap: */ \
|
/* spec_trap: */ \
|
||||||
|
@ -326,17 +326,16 @@ do { \
|
||||||
EMIT3(0x89, 0x14, 0x24); /* mov %edx,(%esp) */ \
|
EMIT3(0x89, 0x14, 0x24); /* mov %edx,(%esp) */ \
|
||||||
EMIT1(0xC3); /* ret */ \
|
EMIT1(0xC3); /* ret */ \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
# endif
|
||||||
#else /* !CONFIG_RETPOLINE */
|
#else /* !CONFIG_RETPOLINE */
|
||||||
|
# ifdef CONFIG_X86_64
|
||||||
#ifdef CONFIG_X86_64
|
# define RETPOLINE_RAX_BPF_JIT_SIZE 2
|
||||||
# define RETPOLINE_RAX_BPF_JIT_SIZE 2
|
# define RETPOLINE_RAX_BPF_JIT() \
|
||||||
# define RETPOLINE_RAX_BPF_JIT() \
|
EMIT2(0xFF, 0xE0); /* jmp *%rax */
|
||||||
EMIT2(0xFF, 0xE0); /* jmp *%rax */
|
# else /* !CONFIG_X86_64 */
|
||||||
#else
|
# define RETPOLINE_EDX_BPF_JIT() \
|
||||||
# define RETPOLINE_EDX_BPF_JIT() \
|
EMIT2(0xFF, 0xE2) /* jmp *%edx */
|
||||||
EMIT2(0xFF, 0xE2) /* jmp *%edx */
|
# endif
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _ASM_X86_NOSPEC_BRANCH_H_ */
|
#endif /* _ASM_X86_NOSPEC_BRANCH_H_ */
|
||||||
|
|
Loading…
Add table
Reference in a new issue