KVM: MMU: Fix oops on guest userspace access to guest pagetable
authorAvi Kivity <avi@qumranet.com>
Thu, 12 Jun 2008 13:54:41 +0000 (16:54 +0300)
committerAvi Kivity <avi@qumranet.com>
Tue, 24 Jun 2008 09:20:12 +0000 (12:20 +0300)
commit6bf6a9532fd03ad719f0c86654f16ef777b78fc6
tree4865d4cd48c98c5425218c5d8289367bd16c4105
parent3094538739415a9225afd2a6c78cb0fe1c1f641b
KVM: MMU: Fix oops on guest userspace access to guest pagetable

KVM has a heuristic to unshadow guest pagetables when userspace accesses
them, on the assumption that most guests do not allow userspace to access
pagetables directly. Unfortunately, in addition to unshadowing the pagetables,
it also oopses.

This never triggers on ordinary guests since sane OSes will clear the
pagetables before assigning them to userspace, which will trigger the flood
heuristic, unshadowing the pagetables before the first userspace access. One
particular guest, though (Xenner) will run the kernel in userspace, triggering
the oops.  Since the heuristic is incorrect in this case, we can simply
remove it.

Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/mmu.c