aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>2011-03-04 06:00:00 -0500
committerMarcelo Tosatti <mtosatti@redhat.com>2011-03-17 12:08:32 -0400
commit49b26e26e4b7b94753b39f7edb0c34f3d1c4c167 (patch)
tree227a106a1e9a5383b290d718bcfad01297fc0c22 /arch/x86/kvm/mmu.c
parent48c0e4e9067eb085e7b300628c9640df071aac55 (diff)
KVM: MMU: do not record gfn in kvm_mmu_pte_write
No need to record the gfn to verifier the pte has the same mode as current vcpu, it's because we only speculatively update the pte only if the pte and vcpu have the same mode Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index d5455b1b725f..91a194667432 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -3228,7 +3228,6 @@ static void mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
3228 kvm_release_pfn_clean(pfn); 3228 kvm_release_pfn_clean(pfn);
3229 return; 3229 return;
3230 } 3230 }
3231 vcpu->arch.update_pte.gfn = gfn;
3232 vcpu->arch.update_pte.pfn = pfn; 3231 vcpu->arch.update_pte.pfn = pfn;
3233} 3232}
3234 3233
@@ -3275,9 +3274,8 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
3275 3274
3276 /* 3275 /*
3277 * Assume that the pte write on a page table of the same type 3276 * Assume that the pte write on a page table of the same type
3278 * as the current vcpu paging mode. This is nearly always true 3277 * as the current vcpu paging mode since we update the sptes only
3279 * (might be false while changing modes). Note it is verified later 3278 * when they have the same mode.
3280 * by update_pte().
3281 */ 3279 */
3282 if ((is_pae(vcpu) && bytes == 4) || !new) { 3280 if ((is_pae(vcpu) && bytes == 4) || !new) {
3283 /* Handle a 32-bit guest writing two halves of a 64-bit gpte */ 3281 /* Handle a 32-bit guest writing two halves of a 64-bit gpte */