Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754043AbbGWVbM (ORCPT ); Thu, 23 Jul 2015 17:31:12 -0400 Received: from smtprelay0062.hostedemail.com ([216.40.44.62]:46094 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753657AbbGWVbJ (ORCPT ); Thu, 23 Jul 2015 17:31:09 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3870:3871:3872:3874:4250:4321:5007:6261:7875:7903:10004:10400:10848:10967:11026:11232:11658:11914:12043:12438:12517:12519:12740:13069:13161:13229:13311:13357:14096:14097:21080,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0 X-HE-Tag: geese19_9b5a506a0104 X-Filterd-Recvd-Size: 2432 Date: Thu, 23 Jul 2015 17:31:05 -0400 From: Steven Rostedt To: Linus Torvalds Cc: Andy Lutomirski , X86 ML , "linux-kernel@vger.kernel.org" , Willy Tarreau , Borislav Petkov , Thomas Gleixner , Peter Zijlstra , Brian Gerst Subject: Re: Dealing with the NMI mess Message-ID: <20150723173105.6795c0dc@gandalf.local.home> In-Reply-To: References: X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1347 Lines: 31 On Thu, 23 Jul 2015 14:08:59 -0700 Linus Torvalds wrote: > On Thu, Jul 23, 2015 at 1:49 PM, Andy Lutomirski wrote: > > > > Issue A: to return with RF clear, we need to disarm the breakpoint. > > If it's limited to the duration of the NMI, that's easy. If not, when > > do we re-arm? New prepare_exit_to_usermode hook? Hmm, setting ti > > flags during context switch may target the wrong task. > > We don't re-arm it. > Let me get this straight. The idea is in the #DB handler to detect that it was triggered in NMI context, and if so, simply disarm that breakpoint permanently, right? Nothing should be adding hw breakpoints to NMI code anyway. Sounds perfectly reasonable to me. Of course, how we tell we are in NMI brings back all the races as we had in the nesting code. We can check the per-cpu variable that is set with nmi_enter() and cleared at nmi_exit() but what happens if the breakpoint is outside those calls. We can check the stack pointer, but then we are back to userspace fooling us. Maybe add the DF trick again? -- Steve -- 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/