[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/nmi: Make external NMI injection reliably crash the host



On 08/26/2014 04:38 PM, Jan Beulich wrote:
On 26.08.14 at 17:26, <ross.lagerwall@xxxxxxxxxx> wrote:
On 08/26/2014 01:59 PM, Jan Beulich wrote:
On 26.08.14 at 12:10, <ross.lagerwall@xxxxxxxxxx> wrote:
@@ -3323,7 +3323,7 @@ void do_nmi(const struct cpu_user_regs *regs)
               pci_serr_error(regs);
           if ( reason & 0x40 )
               io_check_error(regs);
-        if ( !(reason & 0xc0) && !nmi_watchdog )
+        if ( !(reason & 0xc0) )
               unknown_nmi_error(regs, reason);

As much as I like the original idea, I'm afraid this won't fly: I do
know of systems where bad motherboard design leads to neither
of these two bits ever getting set. I.e. at the very minimum we'd
need a command line option to restore old behavior. Personally I
think it should in fact remain default behavior, and new behavior
should only be enabled via command line option.

Well the old behavior was different depending on whether the watchdog
was enabled or not. Since the watchdog was disabled by default, that's
no different from the behavior here.

So are you thinking something like an ignore_unknown_nmi boolean
parameter that defaults to true?

More like a "watchdog=force" one, but right, since the watchdog
isn't being enabled by default, maybe making it an opt-out instead
of opt-in would indeed be acceptable.


If bad motherboard design leads to neither of these bits being set (thus always giving an unknown nmi error), can't the user set nmi=ignore on the xen command-line to get the previous behavior?

We already have an tristate nmi parameter, a boolean watchdog parameter, and a watchdog timeout parameter. I'm loathe to introduce even more possible states.

Regards
--
Ross Lagerwall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.