From: Keir Fraser Date: Fri, 10 Oct 2008 09:11:34 +0000 (+0100) Subject: vmx: Update RIP past INT3 instruction on INT3 vmexit. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14090^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=77dc7b351945fdb764f78302c99b25b664ae9eb2;p=xen.git vmx: Update RIP past INT3 instruction on INT3 vmexit. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 6059af04b4..1aba4c4d4d 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -2115,10 +2115,15 @@ asmlinkage void vmx_vmexit_handler(struct cpu_user_regs *regs) */ exit_qualification = __vmread(EXIT_QUALIFICATION); write_debugreg(6, exit_qualification | 0xffff0ff0); - /* fall through */ + if ( !v->domain->debugger_attached ) + goto exit_and_crash; + domain_pause_for_debugger(); + break; case TRAP_int3: if ( !v->domain->debugger_attached ) goto exit_and_crash; + inst_len = __get_instruction_length(); /* Safe: INT3 */ + __update_guest_eip(inst_len); domain_pause_for_debugger(); break; case TRAP_no_device: