[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |