|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] vmx: correct EIP value of task-state segment
Major OSes(Linux, windows, ...) don't seem to use task switching.
So this bug is missed.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
diff -r e6c966b3a4d8 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Thu Jul 30 17:56:23 2009 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c Fri Jul 31 09:15:16 2009 +0900
@@ -2490,6 +2490,8 @@ asmlinkage void vmx_vmexit_handler(struc
if ( (idtv_info & INTR_INFO_VALID_MASK) &&
(idtv_info & INTR_INFO_DELIVER_CODE_MASK) )
errcode = __vmread(IDT_VECTORING_ERROR_CODE);
+ inst_len = __get_instruction_length(); /* Safe: See SDM 3B 23.2.4 */
+ regs->eip += inst_len;
hvm_task_switch((uint16_t)exit_qualification,
reasons[(exit_qualification >> 30) & 3],
errcode);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] vmx: correct EIP value of task-state segment,
Kouya Shimura <=
|
|
|
|
|