Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754681AbbGXTzL (ORCPT ); Fri, 24 Jul 2015 15:55:11 -0400 Received: from casper.infradead.org ([85.118.1.10]:50061 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754608AbbGXTzJ (ORCPT ); Fri, 24 Jul 2015 15:55:09 -0400 Date: Fri, 24 Jul 2015 21:55:09 +0200 From: Peter Zijlstra To: Linus Torvalds Cc: Willy Tarreau , Steven Rostedt , Andy Lutomirski , X86 ML , "linux-kernel@vger.kernel.org" , Borislav Petkov , Thomas Gleixner , Brian Gerst Subject: Re: Dealing with the NMI mess Message-ID: <20150724195509.GM2859@worktop.programming.kicks-ass.net> References: <20150724075841.40f209f4@gandalf.local.home> <20150724124304.GH19282@twins.programming.kicks-ass.net> <20150724090342.6d11e16d@gandalf.local.home> <20150724132128.GA3612@1wt.eu> <20150724103127.3c3f4693@gandalf.local.home> <20150724145901.GB3612@1wt.eu> <20150724111621.34713023@gandalf.local.home> <20150724152637.GC3612@1wt.eu> <20150724153054.GK19282@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22.1 (2013-10-16) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1247 Lines: 32 On Fri, Jul 24, 2015 at 11:29:29AM -0700, Linus Torvalds wrote: > On Fri, Jul 24, 2015 at 8:30 AM, Peter Zijlstra wrote: > > On Fri, Jul 24, 2015 at 05:26:37PM +0200, Willy Tarreau wrote: > >> > > >> > The point is, if we trigger a #DB on an instruction breakpoint > >> > while !IF, then we simply disable that breakpoint and do the RET. > >> > >> Yes but the breakpoint remains disabled then. Or I'm missing > >> something. > > > > http://marc.info/?l=linux-kernel&m=143773601130974 > > > > We re-enable before going back to userspace. > > Actually, Andy had a good argument that we don't even need this. > > We just don't ever need to disable data breakpoints. Even if we end up doing > > cli(); > copy_from_user_inatomic(); > > that actually works fine. If there are data breakpoints, we will have I worry that we'll end up running the do_debug() handlers from effective NMI context. The NMI might have preempted locks which these handlers require etc.. -- 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/