Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754521AbbGXRVj (ORCPT ); Fri, 24 Jul 2015 13:21:39 -0400 Received: from mail-la0-f46.google.com ([209.85.215.46]:34518 "EHLO mail-la0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752638AbbGXRVh (ORCPT ); Fri, 24 Jul 2015 13:21:37 -0400 MIME-Version: 1.0 In-Reply-To: <20150724162550.GG3612@1wt.eu> References: <20150723173105.6795c0dc@gandalf.local.home> <20150724081326.GO25159@twins.programming.kicks-ass.net> <20150724162550.GG3612@1wt.eu> From: Andy Lutomirski Date: Fri, 24 Jul 2015 10:21:16 -0700 Message-ID: Subject: Re: Dealing with the NMI mess To: Willy Tarreau Cc: Peter Zijlstra , Linus Torvalds , Steven Rostedt , X86 ML , "linux-kernel@vger.kernel.org" , Borislav Petkov , Thomas Gleixner , Brian Gerst Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1282 Lines: 27 On Fri, Jul 24, 2015 at 9:25 AM, Willy Tarreau wrote: > On Fri, Jul 24, 2015 at 08:48:57AM -0700, Andy Lutomirski wrote: >> So by the time we detect that we've hit a watchpoint, the instruction >> that tripped it is done and we don't need RF. Furthermore, after >> reading 17.3.1.1: I *think* that regs->flags withh have RF *clear* if >> we hit a watchpoint. > > Apparently after reading 17.3.1.1, it seems like RF can still be set > if a data breakpoint triggers in a repeated string instruction before > the last iteration. However I don't think we care because as long as > we return to the string instruction, since the data location was already > visited it won't trigger again so the loss of the flag should be safe. > Oh, right. So my proposal is wrong: it'll clear a watchpoint incorrectly if we hit it in the middle of a string operation. So we should either parse dr0..dr3 (whichever one triggered) or do Peter's think and clear dr7 entirely. I still prefer just clearing the breakpoint that triggered. --Andy -- 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/