From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mats Petersson Subject: Re: [PATCH V2] xen: vmx: Use an INT 2 call to process real NMI's instead of self_nmi() in VMEXIT handler Date: Fri, 16 Nov 2012 09:59:40 +0000 Message-ID: <50A60E8C.9070608@citrix.com> References: <7d6fd0219dd791e5788a.1352837304@malcolmc-Dell> <50A37B1802000078000A86D5@nat28.tlf.novell.com> <20121115164156.GE75988@ocelot.phlegethon.org> <50A51DC4.7040205@citrix.com> <20121115172514.GG75988@ocelot.phlegethon.org> <50A604B102000078000A9224@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <50A604B102000078000A9224@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 16/11/12 08:17, Jan Beulich wrote: >>>> On 15.11.12 at 18:25, Tim Deegan wrote: >> At 16:52 +0000 on 15 Nov (1352998340), Andrew Cooper wrote: >>> It is also possible to get a reentrant NMI if there is a pagefault (or >>> handful of other possible faults) when trying to execute the iret of >>> the NMI itself; NMIs can get re-enabled from the iret of the >>> pagefault, and we take a new NMI before attempting to retry the iret >>> from the original NMI. >> Yes, I hadn't thought of that case. > But what would make a fault happen on that IRET? Oh, yes, > there is one case - the guest having its previous instruction end > exactly at the canonical/non-canonical boundary. But for the > sake of correctness, that's a #GP then. I would suppose this > would better be filtered (manually injecting a #GP into the guest) > than allowed to actually cause a #GP. Or, if for some reason the address we return to is "not present". Now, in the current Xen, Xen itself doesn't get paged out, but in a PV guest, I'm pretty certain the guest could decide to page out some code-page, which just happens to be the one we were about to return to? -- Mats > > Jan > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel > >