Commit b8a33fc7258f9e6e42b15571d0284b7c0ef0d0a9

Authored by Linus Torvalds

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

... ... @@ -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.