[patch V5 02/38] x86/entry/64: Use native swapgs in asm_native_load_gs_index()

Thomas Gleixner
2020-05-12T22:23:43Z

When PARAVIRT_XXL is in use, then load_gs_index() uses
xen_load_gs_index() and (asm_))native_load_gs_index() is unused.

It's therefore pointless to use the paravirtualized SWAPGS implementation
in asm_native_load_gs_index(). Switch it to a plain swapgs.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Juergen Gross <jgross@suse.com>
---
arch/x86/entry/entry_64.S | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -1043,11 +1043,11 @@ idtentry simd_coprocessor_error do_simd
*/
SYM_FUNC_START(asm_native_load_gs_index)
FRAME_BEGIN
- SWAPGS
+ swapgs
.Lgs_change:
movl %edi, %gs
2: ALTERNATIVE "", "mfence", X86_BUG_SWAPGS_FENCE
- SWAPGS
+ swapgs
FRAME_END
ret
SYM_FUNC_END(asm_native_load_gs_index)
@@ -1057,7 +1057,7 @@ EXPORT_SYMBOL(asm_native_load_gs_index)
.section .fixup, "ax"
/* running with kernelgs */
SYM_CODE_START_LOCAL_NOALIGN(.Lbad_gs)
- SWAPGS /* switch back to user gs */
+ swapgs /* switch back to user gs */
.macro ZAP_GS
/* This can't be a string because the preprocessor needs to see it. */
movl $__USER_DS, %eax