Re: Dealing with the NMI mess

From: Willy Tarreau
Date: Fri Jul 24 2015 - 11:27:24 EST


On Fri, Jul 24, 2015 at 11:16:21AM -0400, Steven Rostedt wrote:
> On Fri, 24 Jul 2015 16:59:01 +0200
> Willy Tarreau <w@xxxxxx> wrote:
>
> > On Fri, Jul 24, 2015 at 10:31:27AM -0400, Steven Rostedt wrote:
> > > On Fri, 24 Jul 2015 15:21:28 +0200
> > > Willy Tarreau <w@xxxxxx> wrote:
> > >
> > > > My understanding is that by using RET we can't set the RF flag and #DB
> > >
> > > But the RF flag is only set for instruction (executing) breakpoints. It
> > > is not set for data (RW) ones.
> >
> > True but these also are the most complicated to deal with. The data
> > accesses can always be emulated (not what I'm suggesting here) while
> > instructions are much harder to emulate.
>
> The point is, if we trigger a #DB on an instruction breakpoint
> while !IF, then we simply disable that breakpoint and do the RET.

Yes but the breakpoint remains disabled then. Or I'm missing
something.

> What emulation is needed?

I was speaking about redoing the operation with BP disabled before
re-enabling it. But that's not the point here anyway.

Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/