aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kvm/paging_tmpl.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 810c1da2ee44..714e2c01a6fe 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -160,7 +160,6 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker,
160 u16 errcode = 0; 160 u16 errcode = 0;
161 gpa_t real_gpa; 161 gpa_t real_gpa;
162 gfn_t gfn; 162 gfn_t gfn;
163 u32 ac;
164 163
165 trace_kvm_mmu_pagetable_walk(addr, access); 164 trace_kvm_mmu_pagetable_walk(addr, access);
166retry_walk: 165retry_walk:
@@ -242,9 +241,7 @@ retry_walk:
242 if (PTTYPE == 32 && walker->level == PT_DIRECTORY_LEVEL && is_cpuid_PSE36()) 241 if (PTTYPE == 32 && walker->level == PT_DIRECTORY_LEVEL && is_cpuid_PSE36())
243 gfn += pse36_gfn_delta(pte); 242 gfn += pse36_gfn_delta(pte);
244 243
245 ac = write_fault | fetch_fault | user_fault; 244 real_gpa = mmu->translate_gpa(vcpu, gfn_to_gpa(gfn), access);
246
247 real_gpa = mmu->translate_gpa(vcpu, gfn_to_gpa(gfn), ac);
248 if (real_gpa == UNMAPPED_GVA) 245 if (real_gpa == UNMAPPED_GVA)
249 return 0; 246 return 0;
250 247