On Thu, 23 Jul 2015 14:08:59 -0700 Linus Torvalds <torva...@linux-foundation.org> wrote:
> On Thu, Jul 23, 2015 at 1:49 PM, Andy Lutomirski <l...@amacapital.net> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/