KVM: x86: Dirty the dest op page on cmpxchg emulation
authorNadav Amit <namit@cs.technion.ac.il>
Mon, 26 Jan 2015 07:32:21 +0000 (09:32 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 26 Jan 2015 11:14:18 +0000 (12:14 +0100)
commit2fcf5c8ae244b4c298d2111a288d410a719ac626
tree43b8ec0a3384b01008d27e647ee1615fbb1a0aa2
parent8fff5e374a2f6047d1bb52288af7da119bc75765
KVM: x86: Dirty the dest op page on cmpxchg emulation

Intel SDM says for CMPXCHG: "To simplify the interface to the processor’s bus,
the destination operand receives a write cycle without regard to the result of
the comparison.". This means the destination page should be dirtied.

Fix it to by writing back the original value if cmpxchg failed.

Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c