From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754796AbdK2MrT (ORCPT ); Wed, 29 Nov 2017 07:47:19 -0500 Received: from bombadil.infradead.org ([65.50.211.133]:50828 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751850AbdK2MrS (ORCPT ); Wed, 29 Nov 2017 07:47:18 -0500 Date: Wed, 29 Nov 2017 13:47:11 +0100 From: Peter Zijlstra To: Ingo Molnar Cc: Jarkko Nikula , linux-kernel , Andy Lutomirski , Thomas Gleixner , Linus Torvalds , Borislav Petkov Subject: Re: [PATCH] x86/entry/64: Fix native_load_gs_index() SWAPGS handling with IRQ state tracing enabled Message-ID: <20171129124711.slmq5emx4f26c4zp@hirez.programming.kicks-ass.net> References: <0fede9f9-88b0-a6e7-1027-dfb2019b8ef2@linux.intel.com> <20171129070951.hjjjpbyilzaak4ig@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171129070951.hjjjpbyilzaak4ig@gmail.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.