diff options
| -rw-r--r-- | arch/x86/kvm/mmu.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 0d094da49541..9e9285ae9b94 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
| @@ -2811,6 +2811,13 @@ exit: | |||
| 2811 | static bool page_fault_can_be_fast(struct kvm_vcpu *vcpu, u32 error_code) | 2811 | static bool page_fault_can_be_fast(struct kvm_vcpu *vcpu, u32 error_code) |
| 2812 | { | 2812 | { |
| 2813 | /* | 2813 | /* |
| 2814 | * Do not fix the mmio spte with invalid generation number which | ||
| 2815 | * need to be updated by slow page fault path. | ||
| 2816 | */ | ||
| 2817 | if (unlikely(error_code & PFERR_RSVD_MASK)) | ||
| 2818 | return false; | ||
| 2819 | |||
| 2820 | /* | ||
| 2814 | * #PF can be fast only if the shadow page table is present and it | 2821 | * #PF can be fast only if the shadow page table is present and it |
| 2815 | * is caused by write-protect, that means we just need change the | 2822 | * is caused by write-protect, that means we just need change the |
| 2816 | * W bit of the spte which can be done out of mmu-lock. | 2823 | * W bit of the spte which can be done out of mmu-lock. |
