Commit b8a33fc7258f9e6e42b15571d0284b7c0ef0d0a9
Exists in
master
and in
20 other branches
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM fix from Paolo Bonzini: "This single patch fixes a regression caused by one of the optimizations introduced in 3.11, which is generally visible only on AMD processors" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: MMU: avoid fast page fault fixing mmio page fault
Showing 1 changed file Side-by-side Diff
arch/x86/kvm/mmu.c
... | ... | @@ -2811,6 +2811,13 @@ |
2811 | 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 | 2821 | * #PF can be fast only if the shadow page table is present and it |
2815 | 2822 | * is caused by write-protect, that means we just need change the |
2816 | 2823 | * W bit of the spte which can be done out of mmu-lock. |