|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] vmx: Update RIP past INT3 instruction on
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1223629894 -3600
# Node ID cafbd83e2258679ff2740a3f7bf7ade7640bfd89
# Parent 583e45983aaa1855dc0b3e90634138a8880236f6
vmx: Update RIP past INT3 instruction on INT3 vmexit.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/hvm/vmx/vmx.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)
diff -r 583e45983aaa -r cafbd83e2258 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Fri Oct 10 10:06:49 2008 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c Fri Oct 10 10:11:34 2008 +0100
@@ -2115,10 +2115,15 @@ asmlinkage void vmx_vmexit_handler(struc
*/
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:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] vmx: Update RIP past INT3 instruction on INT3 vmexit.,
Xen patchbot-unstable <=
|
|
|
|
|