x86: Use return-thunk in asm code
authorPeter Zijlstra <peterz@infradead.org>
Tue, 14 Jun 2022 21:15:45 +0000 (23:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Jul 2022 10:54:00 +0000 (12:54 +0200)
commit1d61a2988612ac0632134454d5407c63ae0b9d42
tree61cbf3440ea1fae12bbabaf7200000ed6d0aaaf0
parent6c45176bc2ae4c3c2417202903f19cd86b9d7651
x86: Use return-thunk in asm code

commit aa3d480315ba6c3025a60958e1981072ea37c3df upstream.

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>
[cascardo: no RANDSTRUCT_CFLAGS]
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/entry/vdso/Makefile
arch/x86/include/asm/linkage.h
arch/x86/lib/memmove_64.S