Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754295AbbGWVTa (ORCPT ); Thu, 23 Jul 2015 17:19:30 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:7314 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753716AbbGWVT2 (ORCPT ); Thu, 23 Jul 2015 17:19:28 -0400 Date: Thu, 23 Jul 2015 23:18:43 +0200 From: Willy Tarreau To: Linus Torvalds Cc: Andy Lutomirski , X86 ML , "linux-kernel@vger.kernel.org" , Borislav Petkov , Thomas Gleixner , Peter Zijlstra , Steven Rostedt , Brian Gerst Subject: Re: Dealing with the NMI mess Message-ID: <20150723211843.GC3052@1wt.eu> References: <20150723205207.GA3052@1wt.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1801 Lines: 40 On Thu, Jul 23, 2015 at 02:13:16PM -0700, Linus Torvalds wrote: > On Thu, Jul 23, 2015 at 1:52 PM, Willy Tarreau wrote: > > > > What's the worst case that can happen with RF cleared when returing > > to user space ? > > Not a good idea. We are fine breaking breakpoints on the kernel ("use > the tracing infrastructure instead"). Breaking it in user space is not > really an option. But that wouldn't disable the breakpoint, just make it strike again, so the user would not be hurt. > And we really don't need to. We'd only use 'ret' when returning to > kernel code. And not even for the usual case, only for the "interrupts > are off" case. If somebody tries to put a breakpoint on something > that is used in an irq-off situation, they are doing something very > specialized, and we cna tell them: "sorry, we had to break your use > case because it's crazy any other way". > > Those kind of people are by definition not "users". They are mucking > with kernel internals. Breaking them is not a regression. > > Btw, we should still ask Intel for that "fast iret that doesn't > re-enable NMI". So for possible future CPU's we might let people do > crazy things again. I'm just thinking that there should be an option for this : task switching. You can store the EFLAGS in the TSS, so by preparing a dummy task with everything needed to emulate iret, we might be able to do it without the iret instruction. Or is this a stupid idea ? At least now I've well understood that ugliness is not an excuse for not proposing something :-) Willy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/