git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
KVM: x86: 32-bit wraparound read/write not emulated correctly
[sfrench/cifs-2.6.git]
/
arch
/
x86
/
kvm
/
x86.c
diff --git
a/arch/x86/kvm/x86.c
b/arch/x86/kvm/x86.c
index cdd6606e4c543803c4b518bb4ed56d11f0a017a1..1e10e3f7f5167d164c03fb82be0b5b2878b886ea 100644
(file)
--- a/
arch/x86/kvm/x86.c
+++ b/
arch/x86/kvm/x86.c
@@
-4495,6
+4495,8
@@
int emulator_read_write(struct x86_emulate_ctxt *ctxt, unsigned long addr,
if (rc != X86EMUL_CONTINUE)
return rc;
addr += now;
+ if (ctxt->mode != X86EMUL_MODE_PROT64)
+ addr = (u32)addr;
val += now;
bytes -= now;
}