KVM: MMU: fix infinite fault access retry
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Tue, 8 Jan 2013 06:36:51 +0000 (14:36 +0800)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 10 Jan 2013 17:28:30 +0000 (15:28 -0200)
We have two issues in current code:
- if target gfn is used as its page table, guest will refault then kvm will use
  small page size to map it. We need two #PF to fix its shadow page table

- sometimes, say a exception is triggered during vm-exit caused by #PF
  (see handle_exception() in vmx.c), we remove all the shadow pages shadowed
  by the target gfn before go into page fault path, it will cause infinite
  loop:
  delete shadow pages shadowed by the gfn -> try to use large page size to map
  the gfn -> retry the access ->...

To fix these, we can adjust page size early if the target gfn is used as page
table

Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

No differences found