projects
/
xen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7664456
)
Fix #GPF injection into compat guests in vm86 code
author
Keir Fraser
<keir.fraser@citrix.com>
Wed, 30 Jun 2010 17:12:43 +0000
(18:12 +0100)
committer
Keir Fraser
<keir.fraser@citrix.com>
Wed, 30 Jun 2010 17:12:43 +0000
(18:12 +0100)
not to let the guest disable interrupts in the real EFLAGS.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/x86/x86_64/compat/traps.c
patch
|
blob
|
history
diff --git
a/xen/arch/x86/x86_64/compat/traps.c
b/xen/arch/x86/x86_64/compat/traps.c
index 69014383c78c39951ebbf828b83f26738db03440..a9ee983a903d71b544b91350ec2907cf93237de1 100644
(file)
--- a/
xen/arch/x86/x86_64/compat/traps.c
+++ b/
xen/arch/x86/x86_64/compat/traps.c
@@
-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;