diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2008-04-04 19:56:44 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-04-27 11:00:58 +0200 |
commit | bed1d1dfc4a458d82bcd258082638cbba860190d (patch) | |
tree | 344f9cbf54082161e54ba77164f55aec695b9403 /arch/s390/kvm/kvm-s390.c | |
parent | KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest (diff) | |
download | linux-bed1d1dfc4a458d82bcd258082638cbba860190d.tar.xz linux-bed1d1dfc4a458d82bcd258082638cbba860190d.zip |
KVM: MMU: prepopulate guest pages after write-protecting
Zdenek reported a bug where a looping "dmsetup status" eventually hangs
on SMP guests.
The problem is that kvm_mmu_get_page() prepopulates the shadow MMU
before write protecting the guest page tables. By doing so, it leaves a
window open where the guest can mark a pte as present while the host has
shadow cached such pte as "notrap". Accesses to such address will fault
in the guest without the host having a chance to fix the situation.
Fix by moving the write protection before the pte prefetch.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/s390/kvm/kvm-s390.c')
0 files changed, 0 insertions, 0 deletions