Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756003Ab1DRQ6m (ORCPT ); Mon, 18 Apr 2011 12:58:42 -0400 Received: from casper.infradead.org ([85.118.1.10]:46835 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753092Ab1DRQ6h convert rfc822-to-8bit (ORCPT ); Mon, 18 Apr 2011 12:58:37 -0400 Subject: Re: [PATCH v3 2.6.39-rc1-tip 14/26] 14: x86: x86 specific probe handling From: Peter Zijlstra To: Srikar Dronamraju Cc: Ingo Molnar , Steven Rostedt , Linux-mm , Arnaldo Carvalho de Melo , Linus Torvalds , Masami Hiramatsu , Ananth N Mavinakayanahalli , Christoph Hellwig , Andi Kleen , Thomas Gleixner , Jonathan Corbet , Oleg Nesterov , Andrew Morton , Jim Keniston , Roland McGrath , SystemTap , LKML In-Reply-To: <20110401143517.15455.88373.sendpatchset@localhost6.localdomain6> References: <20110401143223.15455.19844.sendpatchset@localhost6.localdomain6> <20110401143517.15455.88373.sendpatchset@localhost6.localdomain6> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Date: Mon, 18 Apr 2011 18:57:56 +0200 Message-ID: <1303145876.32491.892.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1174 Lines: 31 On Fri, 2011-04-01 at 20:05 +0530, Srikar Dronamraju wrote: > +void arch_uprobe_enable_sstep(struct pt_regs *regs) > +{ > + /* > + * Enable single-stepping by > + * - Set TF on stack > + * - Set TIF_SINGLESTEP: Guarantees that TF is set when > + * returning to user mode. > + * - Indicate that TF is set by us. > + */ > + regs->flags |= X86_EFLAGS_TF; > + set_thread_flag(TIF_SINGLESTEP); > + set_thread_flag(TIF_FORCED_TF); > +} > + > +void arch_uprobe_disable_sstep(struct pt_regs *regs) > +{ > + /* Disable single-stepping by clearing what we set */ > + clear_thread_flag(TIF_SINGLESTEP); > + clear_thread_flag(TIF_FORCED_TF); > + regs->flags &= ~X86_EFLAGS_TF; > +} Don't you loose the single step flag if userspace was already single-stepping when it hit your breakpoint? Also, you don't seem to touch the blockstep settings. -- 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/