aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-05-12 14:54:14 +0200
committerThomas Gleixner <tglx@linutronix.de>2020-06-11 15:14:42 +0200
commitc9317202af70ee03d44fdd68abebdb640b8ab411 (patch)
tree2b2662937525fc5c8161dab79ce0706f28018715 /arch
parent410367e321b5cbd4a616161142a7d162cf55885e (diff)
downloaddriver-core-c9317202af70ee03d44fdd68abebdb640b8ab411.tar.gz
x86/entry/64: Use native swapgs in asm_load_gs_index()
When PARAVIRT_XXL is in use, then load_gs_index() uses xen_load_gs_index() and asm_load_gs_index() is unused. It's therefore pointless to use the paravirtualized SWAPGS implementation in asm_load_gs_index(). Switch it to a plain swapgs. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Acked-by: Juergen Gross <jgross@suse.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Link: https://lkml.kernel.org/r/20200512213809.583980272@linutronix.de
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/entry/entry_64.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index be8ed3a84cafa2..9747b42fedd559 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -1043,11 +1043,11 @@ idtentry simd_coprocessor_error do_simd_coprocessor_error has_error_code=0
*/
SYM_FUNC_START(asm_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_load_gs_index)
@@ -1057,7 +1057,7 @@ EXPORT_SYMBOL(asm_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