summaryrefslogtreecommitdiffstats
path: root/virt/kvm/kvm_main.c
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>2012-08-21 04:57:42 +0200
committerAvi Kivity <avi@redhat.com>2012-08-22 14:08:49 +0200
commit8e3d9d061b5d132217629e7b5635ff0c02488e65 (patch)
tree5af8ab12b3a61d46157d665ad0898b1ad0fc135e /virt/kvm/kvm_main.c
parentKVM guest: disable stealtime on reboot to avoid mem corruption (diff)
downloadlinux-8e3d9d061b5d132217629e7b5635ff0c02488e65.tar.xz
linux-8e3d9d061b5d132217629e7b5635ff0c02488e65.zip
KVM: x86: fix possible infinite loop caused by reexecute_instruction
Currently, we reexecute all unhandleable instructions if they do not access on the mmio, however, it can not work if host map the readonly memory to guest. If the instruction try to write this kind of memory, it will fault again when guest retry it, then we will goto a infinite loop: retry instruction -> write #PF -> emulation fail -> retry instruction -> ... Fix it by retrying the instruction only when it faults on the writable memory Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'virt/kvm/kvm_main.c')
0 files changed, 0 insertions, 0 deletions