Re: [RFC][PATCH 3/3] x86: Add workaround to NMI iret woes

From: Peter Zijlstra
Date: Fri Dec 09 2011 - 04:22:50 EST


On Thu, 2011-12-08 at 21:43 -0500, Steven Rostedt wrote:
> On Thu, 2011-12-08 at 14:36 -0500, Steven Rostedt wrote:
>
> > I'm not sure how to handle this case. We could do something similar in
> > the break point code to handle the same thing. But this just seems
> > really ugly.
> >
> > Anyone with any better ideas?
>
> On IRC, Peter Zijlstra mentioned changing the IDT in NMI. I'm not sure
> if he was joking or not. But I decided to try it out. It seems to
> work :)

Its was definitely tongue in cheek, also I did say this'll be a massive
pain with paravirt since I doubt paravirt calls are NMI safe.

But yeah, it might all be slightly less painful than trying to teach the
INT3 handler about this recursion.

This all started with wanting to do pagefaults from NMI context, those
too will have this recursion, although for faults we'll end up in the
double fault handler, which seems to allow a slightly saner way out.
--
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/