On 25/1/08 09:11, "Andi Kleen" <[EMAIL PROTECTED]> wrote: >>> Actually, another thought: permitting (and handling) spurious faults for >>> kernel mappings conflicts with NMI handling, i.e. great care would be >>> needed to ensure the NMI path cannot touch any such mapping. So >>> even the present Xen/Linux Dom0 implementation may have some >>> (perhaps unlikely) problems here, and it would get worse if we added >>> e.g. a virtual watchdog NMI (something I am considering, which would >>> then extend the problem to DomU-s). >> >> Can you explain how they conflict? > > NMI is blocked by the hardware until IRET and when a page fault happens inside > the NMI handler the early IRET unblocks it and then NMIs can nest, which > will lead to stack corruption.
Whether this a problem in light of Xen spurious faults depends on whether NMI handlers touch dynamically-allocated data. And if they do, it still depends on the exact scenario. If it is likely to be a problem, a Xen pv_op can flush the TLB on NMI entry, or we could have Xen do that implicitly before invoking the guest NMI handler. Currently Xen guests do not use NMI for watchdog or oprofile, so that rather limits the scope for problems. -- Keir -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/