From 4ea904b873a4f63e7ae817889b81939527eab54a Mon Sep 17 00:00:00 2001 From: Izik Eidus Date: Tue, 20 Nov 2007 11:30:04 +0200 Subject: [PATCH] --- yaml --- r: 80759 b: refs/heads/master c: 2065b3727ecdb64450597d70f7e13af00b85dbd8 h: refs/heads/master i: 80757: c223f84d14b398495c4b229fcedd93c4d26873a2 80755: 0317525e597e8e515f00221003e7f19625c45b5d 80751: 77b0903c8bcee45004aecfde2b87d85aed001270 v: v3 --- [refs] | 2 +- trunk/drivers/kvm/mmu.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e8484dbdd3b9..83f2ba15c2d1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2d2a7b9cff7f6324e69daa3ab76799641a94a0e8 +refs/heads/master: 2065b3727ecdb64450597d70f7e13af00b85dbd8 diff --git a/trunk/drivers/kvm/mmu.c b/trunk/drivers/kvm/mmu.c index 87d8e70fe502..8add4d5c6840 100644 --- a/trunk/drivers/kvm/mmu.c +++ b/trunk/drivers/kvm/mmu.c @@ -907,8 +907,10 @@ static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, hpa_t p) pte = table[index]; was_rmapped = is_rmap_pte(pte); - if (is_shadow_present_pte(pte) && is_writeble_pte(pte)) + if (is_shadow_present_pte(pte) && is_writeble_pte(pte)) { + kvm_release_page(pfn_to_page(p >> PAGE_SHIFT)); return 0; + } mark_page_dirty(vcpu->kvm, v >> PAGE_SHIFT); page_header_update_slot(vcpu->kvm, table, v); table[index] = p | PT_PRESENT_MASK | PT_WRITABLE_MASK |