summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2013-08-09 13:00:39 +0930
committerRusty Russell <rusty@rustcorp.com.au>2013-08-09 13:00:39 +0930
commit11489736177c5930514482b4db7af862d945335d (patch)
tree8590ec4ba037b79c94982e15922fe50a1f0193a3 /arch/x86/kvm/mmu.c
parent3f0d0c9b47e09d47fcb755fed786a1ee88e110b5 (diff)
parent6c2580c501c660fdfb506061e016d84570fceba1 (diff)
downloadtalos-op-linux-11489736177c5930514482b4db7af862d945335d.tar.gz
talos-op-linux-11489736177c5930514482b4db7af862d945335d.zip
Merge branch 'master' into virtio-next
The next commit gets conflicts because it relies on patches which were cc:stable and thus had to be merged into Linus' tree before the coming merge window. So pull in master now. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c7
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:
static bool page_fault_can_be_fast(struct kvm_vcpu *vcpu, u32 error_code)
{
/*
+ * Do not fix the mmio spte with invalid generation number which
+ * need to be updated by slow page fault path.
+ */
+ if (unlikely(error_code & PFERR_RSVD_MASK))
+ return false;
+
+ /*
* #PF can be fast only if the shadow page table is present and it
* is caused by write-protect, that means we just need change the
* W bit of the spte which can be done out of mmu-lock.
OpenPOWER on IntegriCloud