From 3cffa34537767dfdb6a0fa02c1a54fdfc7644b6d Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 12 Sep 2016 17:46:39 +0200 Subject: [PATCH] Revert "x86/hvm: Perform a user instruction fetch for a FEP in userspace" This reverts commit c3b06b0a7523374822e2eec789178444eefc5710, which doesn't build and would, in its current form, use uninitialized data if it did. --- xen/arch/x86/hvm/svm/svm.c | 4 +--- xen/arch/x86/hvm/vmx/vmx.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 74aa075ba1..07ccae3bbd 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -2131,12 +2131,10 @@ static void svm_vmexit_ud_intercept(struct cpu_user_regs *regs) if ( opt_hvm_fep ) { - uint32_t walk = (ctxt.seg_reg[x86_seg_ss].attr.fields.dpl == 3) - ? PFEC_user_mode : 0; char sig[5]; /* ud2; .ascii "xen" */ if ( (hvm_fetch_from_guest_virt_nofault( - sig, regs->eip, sizeof(sig), walk) == HVMCOPY_okay) && + sig, regs->eip, sizeof(sig), 0) == HVMCOPY_okay) && (memcmp(sig, "\xf\xbxen", sizeof(sig)) == 0) ) { regs->eip += sizeof(sig); diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 7f96ad64e5..698c90663e 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -2763,12 +2763,10 @@ static void vmx_vmexit_ud_intercept(struct cpu_user_regs *regs) if ( opt_hvm_fep ) { - uint32_t walk = (ctxt.seg_reg[x86_seg_ss].attr.fields.dpl == 3) - ? PFEC_user_mode : 0; char sig[5]; /* ud2; .ascii "xen" */ if ( (hvm_fetch_from_guest_virt_nofault( - sig, regs->eip, sizeof(sig), walk) == HVMCOPY_okay) && + sig, regs->eip, sizeof(sig), 0) == HVMCOPY_okay) && (memcmp(sig, "\xf\xbxen", sizeof(sig)) == 0) ) { regs->eip += sizeof(sig);