diff options
Diffstat (limited to 'drivers/kvm/paging_tmpl.h')
-rw-r--r-- | drivers/kvm/paging_tmpl.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h index 73ffbffb1097..bc64cceec039 100644 --- a/drivers/kvm/paging_tmpl.h +++ b/drivers/kvm/paging_tmpl.h | |||
@@ -421,6 +421,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, | |||
421 | pgprintk("%s: guest page fault\n", __FUNCTION__); | 421 | pgprintk("%s: guest page fault\n", __FUNCTION__); |
422 | inject_page_fault(vcpu, addr, walker.error_code); | 422 | inject_page_fault(vcpu, addr, walker.error_code); |
423 | FNAME(release_walker)(&walker); | 423 | FNAME(release_walker)(&walker); |
424 | vcpu->last_pt_write_count = 0; /* reset fork detector */ | ||
424 | return 0; | 425 | return 0; |
425 | } | 426 | } |
426 | 427 | ||
@@ -442,6 +443,9 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, | |||
442 | 443 | ||
443 | FNAME(release_walker)(&walker); | 444 | FNAME(release_walker)(&walker); |
444 | 445 | ||
446 | if (!write_pt) | ||
447 | vcpu->last_pt_write_count = 0; /* reset fork detector */ | ||
448 | |||
445 | /* | 449 | /* |
446 | * mmio: emulate if accessible, otherwise its a guest fault. | 450 | * mmio: emulate if accessible, otherwise its a guest fault. |
447 | */ | 451 | */ |