[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] VMX: disable SMEP feature when guest is in non-paging mode
On 30/01/2013 09:54, "Tim Deegan" <tim@xxxxxxx> wrote: > At 17:26 +0800 on 30 Jan (1359566815), dongxiao.xu@xxxxxxxxx wrote: >> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c >> index 4d7c93f..6347f66 100644 >> --- a/xen/arch/x86/hvm/vmx/vmx.c >> +++ b/xen/arch/x86/hvm/vmx/vmx.c >> @@ -1167,6 +1167,14 @@ static void vmx_update_guest_cr(struct vcpu *v, >> unsigned int cr) >> { >> v->arch.hvm_vcpu.hw_cr[4] |= X86_CR4_PSE; >> v->arch.hvm_vcpu.hw_cr[4] &= ~X86_CR4_PAE; >> + /* >> + * SMEP is disabled if CPU is in non-paging mode in hardware. >> + * However Xen always uses paging mode to emulate guest >> non-paging >> + * mode with HAP. >> + * To emulate this behavior, SMEP needs to be manually disabled >> when >> + * guest switches to non-paging mode. >> + */ >> + v->arch.hvm_vcpu.hw_cr[4] &= ~X86_CR4_SMEP; > > Shouldn't this be handled on CR0 writes as well as CR4? The SMEP bit of > hw_cr[4] ought to be cleared and set whenever CR0_PG is changed. That's what I would expect too. -- Keir > Cheers, > > Tim. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |