|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-4.0-testing] Fix #GPF injection into compat guests
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1277918695 -3600
# Node ID 9687dcf4d32890bff9f44dfd24a2108b3d3eb8a0
# Parent a2f8a0008411a80cd9da293ee3245e0ea18d64b2
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@xxxxxxxxxx
xen-unstable changeset: 21700:fae04060a4f4
xen-unstable date: Wed Jun 30 18:12:43 2010 +0100
---
xen/arch/x86/x86_64/compat/traps.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff -r a2f8a0008411 -r 9687dcf4d328 xen/arch/x86/x86_64/compat/traps.c
--- a/xen/arch/x86/x86_64/compat/traps.c Wed Jun 30 18:24:32 2010 +0100
+++ b/xen/arch/x86/x86_64/compat/traps.c Wed Jun 30 18:24:55 2010 +0100
@@ -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;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-4.0-testing] Fix #GPF injection into compat guests in vm86 code,
Xen patchbot-4.0-testing <=
|
|
|
|
|