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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href