KVM: MMU: avoid creation of unreachable pages in the shadow
authorMarcelo Tosatti <mtosatti@redhat.com>
Tue, 25 Nov 2008 14:33:10 +0000 (15:33 +0100)
committerAvi Kivity <avi@redhat.com>
Wed, 26 Nov 2008 10:34:27 +0000 (12:34 +0200)
commit6c475352e87224a8f0b8cc6f6cc96b30563dc5b4
tree1046e74c244c3db4673fb937af8b56875405114c
parentc30f8a6c6d74f67bc2107726cc61a1e7c71e9740
KVM: MMU: avoid creation of unreachable pages in the shadow

It is possible for a shadow page to have a parent link
pointing to a freed page. When zapping a high level table,
kvm_mmu_page_unlink_children fails to remove the parent_pte link.
For that to happen, the child must be unreachable via the shadow
tree, which can happen in shadow_walk_entry if the guest pte was
modified in between walk() and fetch(). Remove the parent pte
reference in such case.

Possible cause for oops in bug #2217430.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/paging_tmpl.h