Messages in this thread | | | Date | Wed, 29 Nov 2017 13:47:11 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] x86/entry/64: Fix native_load_gs_index() SWAPGS handling with IRQ state tracing enabled |
| |
On Wed, Nov 29, 2017 at 08:09:51AM +0100, Ingo Molnar wrote: > diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S > index f81d50d7ceac..c0b52df8ee4f 100644 > --- a/arch/x86/entry/entry_64.S > +++ b/arch/x86/entry/entry_64.S > @@ -945,16 +945,16 @@ idtentry simd_coprocessor_error do_simd_coprocessor_error has_error_code=0 > */ > ENTRY(native_load_gs_index) > FRAME_BEGIN > + SWAPGS /* switch from user GS to kernel GS */ > pushfq > DISABLE_INTERRUPTS(CLBR_ANY & ~CLBR_RDI) > TRACE_IRQS_OFF > - SWAPGS
I'm thinking those moves it too far back; we should at least have interrupts disabled when we do SWAPGS, no? Also, curse paravirt.
| |