summaryrefslogtreecommitdiffstats
path: root/arch/x86/entry
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2022-06-14 23:15:45 +0200
committerBorislav Petkov <bp@suse.de>2022-06-27 10:33:58 +0200
commitaa3d480315ba6c3025a60958e1981072ea37c3df (patch)
tree8b8c57aa9dd990a7935a210603570617180171e3 /arch/x86/entry
parent0ee9073000e8791f8b134a8ded31bcc767f7f232 (diff)
downloadlinux-stable-aa3d480315ba6c3025a60958e1981072ea37c3df.tar.gz
linux-stable-aa3d480315ba6c3025a60958e1981072ea37c3df.tar.bz2
linux-stable-aa3d480315ba6c3025a60958e1981072ea37c3df.zip
x86: Use return-thunk in asm code
Use the return thunk in asm code. If the thunk isn't needed, it will get patched into a RET instruction during boot by apply_returns(). Since alternatives can't handle relocations outside of the first instruction, putting a 'jmp __x86_return_thunk' in one is not valid, therefore carve out the memmove ERMS path into a separate label and jump to it. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'arch/x86/entry')
-rw-r--r--arch/x86/entry/vdso/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index c2a8b76ae0bc..76cd790ed0bd 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -92,6 +92,7 @@ endif
endif
$(vobjs): KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO) $(RANDSTRUCT_CFLAGS) $(GCC_PLUGINS_CFLAGS) $(RETPOLINE_CFLAGS),$(KBUILD_CFLAGS)) $(CFL)
+$(vobjs): KBUILD_AFLAGS += -DBUILD_VDSO
#
# vDSO code runs in userspace and -pg doesn't help with profiling anyway.