mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
Fix #GPF injection into compat guests in vm86 code
not to let the guest disable interrupts in the real EFLAGS. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
7664456355
commit
a61e7a3565
1 file changed
+2
-3
@@ -127,9 +127,8 @@ unsigned int compat_iret(void)
|
||||
ti = &v->arch.guest_context.trap_ctxt[13];
|
||||
if ( TI_GET_IF(ti) )
|
||||
eflags &= ~X86_EFLAGS_IF;
|
||||
regs->_eflags = eflags & ~(X86_EFLAGS_VM|X86_EFLAGS_RF|
|
||||
X86_EFLAGS_NT|X86_EFLAGS_TF);
|
||||
|
||||
regs->_eflags &= ~(X86_EFLAGS_VM|X86_EFLAGS_RF|
|
||||
X86_EFLAGS_NT|X86_EFLAGS_TF);
|
||||
if ( unlikely(__put_user(0, (u32 *)regs->rsp)) )
|
||||
goto exit_and_crash;
|
||||
regs->_eip = ti->address;
|
||||
|
||||