|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-3.2-testing] vmx: Update RIP past INT3 instruction
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1224178057 -3600
# Node ID dfbf481940bb48c891fe2988721a02db05bb7d29
# Parent 65479fae664911f8435485daf0eb91908e39dd67
vmx: Update RIP past INT3 instruction on INT3 vmexit.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset: 18593:cafbd83e2258
xen-unstable date: Fri Oct 10 10:11:34 2008 +0100
---
xen/arch/x86/hvm/vmx/vmx.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)
diff -r 65479fae6649 -r dfbf481940bb xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Thu Oct 16 18:27:17 2008 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c Thu Oct 16 18:27:37 2008 +0100
@@ -2817,10 +2817,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-3.2-testing] vmx: Update RIP past INT3 instruction on INT3 vmexit.,
Xen patchbot-3.2-testing <=
|
|
|
|
|