Re: [PATCH V6 6/8] x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS

From: Borislav Petkov
Date: Fri Apr 29 2022 - 08:22:32 EST


On Fri, Apr 29, 2022 at 07:45:43PM +0800, Lai Jiangshan wrote:
> Adding ALTERNATIVE in swapgs_restore_regs_and_return_to_usermode()

All I'm saying is to do this:

diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S
index c5aeb0819707..79f0511a4791 100644
--- a/arch/x86/entry/entry_64_compat.S
+++ b/arch/x86/entry/entry_64_compat.S
@@ -140,7 +140,7 @@ SYM_INNER_LABEL(entry_SYSENTER_compat_after_hwframe, SYM_L_GLOBAL)
call do_SYSENTER_32
/* XEN PV guests always use IRET path */
ALTERNATIVE "testl %eax, %eax; jz swapgs_restore_regs_and_return_to_usermode", \
- "jmp swapgs_restore_regs_and_return_to_usermode", X86_FEATURE_XENPV
+ "jmp xenpv_restore_regs_and_return_to_usermode", X86_FEATURE_XENPV
jmp sysret32_from_system_call

.Lsysenter_fix_flags:

which eliminates one JMP in the XENPV case if the CONFIG_DEBUG_ENTRY
thing is not relevant to XENPV.

But let's see what Jürgen says first...

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette